注册 登录
编程论坛 SQL Server论坛

求教一段Sql查询语句该这么写!

wy19860426 发布于 2010-08-16 20:40, 832 次点击
请问下一段Sql语句我该怎么写啊?
我想找出A列里面的a对应B列里面的b,但是A的里面的b不对应B列里面的a,该这么查找呢???
比如:
   A    B
1  1    2
2  2    1
3  2    3
4  3    2
5  3    4


第5列就是我要求的结果
8 回复
#2
cnfarer2010-08-17 06:33
总共2列,何来第5列?
#3
aei1352010-08-17 09:48
select * from table x where not exists(select * from table y where y.a=x.b and y.b=x.a)
#4
wy198604262010-08-18 08:26
以下是引用cnfarer在2010-8-17 06:33:02的发言:

总共2列,何来第5列?
第5行。。。。第5行。。。。口误。。。
#5
wy198604262010-08-18 08:29
以下是引用aei135在2010-8-17 09:48:23的发言:

select * from table x where not exists(select * from table y where y.a=x.b and y.b=x.a)
我那是一个表哟。。。
#6
aei1352010-08-18 09:19
就是一个表啊,只不过用别名把它当两个表使用了啊,有点像自连接似的,两个表要进行自连接,自然得有表别名才行啊,不然怎么自连接啊,你把table直接换成你的表名 ,列名换成你的列名,运行下看看了,我测试过的,应该没问题的
#7
wy198604262010-08-18 11:23
以下是引用aei135在2010-8-18 09:19:19的发言:

就是一个表啊,只不过用别名把它当两个表使用了啊,有点像自连接似的,两个表要进行自连接,自然得有表别名才行啊,不然怎么自连接啊,你把table直接换成你的表名 ,列名换成你的列名,运行下看看了,我测试过的,应该没问题的
嗯,OKOK了~~
感谢。。。

额。。。我是新人。。。
能麻烦你帮我解释下这条Sql语句的意思吗?(什么是自连接我也不知道。。。)
#8
qingshuiliu2010-08-18 11:53
这个解决方案不错啊
#9
gerbfd2010-08-18 12:52
建议看看SQL相关的介绍
1