sql中如何查询表中一行数据中的两列数据与另一行相同列数据的数据相反?
比如A列有123,B有132,但在第三行有A132,B123我想查询出的数据只保留A123,B有132或(A132,B123)并且将num值相加=4求助。其实这个问题的实...
比如A列有123,B有132 ,但在第三行有A 132,B 123 我想查询出的数据只保留A123,B有132或(A 132,B 123) 并且将num值相加=4
求助。其实这个问题的实际应用是查询在一个时期内,表中两个电话号码的通话频繁程度问题-----,真心需要助攻呀。
最终我想达到的效果如:
A B NUM
123 132 4
123 213 3
132 213 1 展开
求助。其实这个问题的实际应用是查询在一个时期内,表中两个电话号码的通话频繁程度问题-----,真心需要助攻呀。
最终我想达到的效果如:
A B NUM
123 132 4
123 213 3
132 213 1 展开
1个回答
展开全部
这个主要关注表的自连接就可以了,下面是SQL
select a1.A,a1.B from tb1 a1,tb1 a2
where (a1.num+a2.num)=4
and a1.a=a2.b
and a1.b=a2.a
可以达到你要的结果
select a1.A,a1.B from tb1 a1,tb1 a2
where (a1.num+a2.num)=4
and a1.a=a2.b
and a1.b=a2.a
可以达到你要的结果
更多追问追答
追问
额,我表达有问题,这几条数据是我自己构造的,并不是要num=4,而是最终的结果是
A B NUM
123 132 4
123 213 3
132 213 1
这个问题的衍生来源是:查询表中两个电话号码的通话频繁程度问题 ,我给你打的电话与你给我电话都算作一组通话。求每一组通话的次数-
追答
你还是把完整的需求用文字表现出来吧,这样我好帮你分析结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询