100分求Sql语句,谢谢

haoliqi 2004-11-10 10:33:33
表结构如下
create table AB ( A varchar(20),B varchar(20),C varchar(20))

insert AB select 'a','b','e'
insert AB select 'b','a','e'
insert AB select 'a','c','e'
insert AB select '3','b','f'
insert AB select 'b','3','f'
insert AB select 'b','3','d'

要求查询出结果如下:
a,b,e
b,a,e
3,b,f
b,3,f
小弟只会限制了A列和B 列的条件
select * from AB Where AB.A in(select AB.B from AB)
and AB.B in (Select AB.A from AB)
不知C列条件如何限制,查询出的一定是偶数行,且每两行的A列与B列互相相同,C列相等
请高手指教,在线等,马上结贴!
...全文
98 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jieyh 2004-11-10
  • 打赏
  • 举报
回复
create table #AB ( A varchar(20),B varchar(20),C varchar(20))

insert #AB select 'a','b','e'
insert #AB select 'b','a','e'
insert #AB select 'a','c','e'
insert #AB select '3','b','f'
insert #AB select 'b','3','f'
insert #AB select 'b','3','d'

SELECT a.a,a.b,a.c FROM #AB a CROSS JOIN #AB b
where a.a=b.b and b.a=a.b and a.c=b.c

drop TABLE #AB
lsxaa 2004-11-10
  • 打赏
  • 举报
回复
学习
davorsuker39 2004-11-10
  • 打赏
  • 举报
回复
select * from AB a
where exists(
select * from AB
where A=a.B and B=a.A and C=a.C)
Andy__Huang 2004-11-10
  • 打赏
  • 举报
回复

改一下

create table AB ( A varchar(20),B varchar(20),C varchar(20))
insert AB select 'a','b','e'
insert AB select 'b','a','e'
insert AB select 'a','c','e'
insert AB select '3','b','f'
insert AB select 'b','3','f'
insert AB select 'b','3','d'

select a.* from AB a inner join AB b on a.A=b.B and a.B=b.A and a.C=b.C

--結果
A B C
--------------------
a b e
b a e
3 b f
b 3 f
zjcxc 元老 2004-11-10
  • 打赏
  • 举报
回复
create table AB ( A varchar(20),B varchar(20),C varchar(20))
insert AB select 'a','b','e'
insert AB select 'b','a','e'
insert AB select 'a','c','e'
insert AB select '3','b','f'
insert AB select 'b','3','f'
insert AB select 'b','3','d'
go

select * from AB a
where exists(
select * from AB
where A=a.B and B=a.A and C=a.C)
go

--删除测试
drop table AB

/*--测试结果

A B C
-------------------- -------------------- --------------------
a b e
b a e
3 b f
b 3 f

(所影响的行数为 4 行)
--*/
pbsql 2004-11-10
  • 打赏
  • 举报
回复
select * from AB t Where exists(select * from AB where a=t.b and b=t.a and c=t.c)
zjcxc 元老 2004-11-10
  • 打赏
  • 举报
回复
select * from AB a
where exists(
select * from AB
where A=a.B and B=a.A and C=a.C)
haoliqi 2004-11-10
  • 打赏
  • 举报
回复
UP

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧