日期:2014-05-19  浏览次数:20483 次

高分求查询语句
table1(aa,bb,cc),
              11,22,33
              01,02,03
              01,04,05
table2(aa,bb,cc)
              10,22,33
              01,02,04
              02,04,05

我想得到的是把table1和table2中aa,bb列看着是一个组合列来查询

--比如我想得到vtable2中除掉第2行的数据。
也就是得到的就是下面这个语句相反的结果。
select   b.*   from   table1   a,table2   b   where   a.aa=b.aa   and   a.bb=b.bb


------解决方案--------------------
select ta.* from table2 ta,
(
select b.* from table1 a,table2 b where a.aa=b.aa and a.bb=b.bb
) tb
where ta.aa <> tb.aa and ta.bb <> tb.bb

------解决方案--------------------
於SQL Server 2005中求差集
SELECT * FROM Table2
EXCEPT
SELECT * FROM Table1