日期:2014-05-18 浏览次数:21209 次
--?? Select * from #t where [a]!=[B]
------解决方案--------------------
declare @tablename table (A varchar(4),B varchar(4)) insert into @tablename select '1111','1111' union all select '1111','AAAA' union all select '1111','1111' union all select '2222','2222' union all select '2222','2222' union all select '2222','2222' union all select '3333','3333' union all select '444','444' select a.* from @tablename a right join @tablename b on a.A=b.A where b.A<>b.B /* A B ---- ---- 1111 1111 1111 AAAA 1111 1111 */
------解决方案--------------------
select * from ta where a!=b
------解决方案--------------------
----创建测试数据 if object_id('ta') is not null drop table ta create table ta (A varchar(20),B varchar(20)) insert into ta select '1111','1111' union all select '1111','AAAA' union all select '1111','1111' union all select '2222','2222' union all select '2222','2222' union all select '2222','2222' union all select '3333','3333' union all select '444','444' ---查询 (select a ,b from ta) union (select a,b from ta)
------解决方案--------------------
declare @tablename table (A varchar(4),B varchar(4)) insert into @tablename select '1111','1111' union all select '1111','AAAA' union all select '1111','1111' union all select '2222','2222' union all select '2222','2222' union all select '2222','2222' union all select '3333','3333' union all select '444','444' union all select '5555','bbb' union all select '5555','bbb' select a.* from @tablename a right join @tablename b on a.A=b.A left join (select count(distinct B) as c1,A from @tablename group by A ) c on b.A=c.A where c.c1>1 and b.A<>b.B /* A B ---- ---- 1111 1111 1111 AAAA 1111 1111 */