一个SQL SERVER中关于select查询的一个问题
本帖最后由 lxqlyld 于 2013-07-02 14:41:11 编辑 小弟在程序中遇到一个问题,直接说有点不清楚,举例子吧,例如:
一个表A中有字段“销售单号”、“客户姓名”、“时间”、“日期”等等。
一个表B中有字段“销售单号”、“商品代码”、“商品名”等等。
两个表以“销售单号”进行关联
现在以“客户姓名”,例如为“小泉”,和“商品代码”,例如为“001”,为条件对这两个表进行查询,
例如表A中有数据:
销售单号 客户姓名 日期 时间
201371337 小泉 2013 12:50:06
201371998 小李 2012 11:34:07
201372568 小泉 2011 10:20:12
表B中有数据:
销售单号 商品代码 商品名
201371337 001 饼干
201371337 002 面包
201371337 003 大饼
201371998 008 香烟
201372568 004 大蒜
我想要的查询结果是:
销售单号 客户姓名 日期 时间
201371337 小泉 2013 12:50:06
即结果中“客户姓名”要是“小泉”,同时在表B中,“销售单号”等于201371337的记录中至少有一条记录的“商品代码”是001。
201372568 小泉 2011 10:20:12,该记录不显示,因为在表B中201372568下面没有一条记录的商品代码是001
请问各位高手,这个查询语句要怎么写啊,非常感谢
[解决办法]
select A.* from A inner join B on A.销售单号=B.销售单号
and exists (select count(1)>0 from B where B.商品代码=001)
------解决方案--------------------
select a.* from a inner join b on a.销售单号=b.销售单号
where 商品代码='001'