84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
查询一张表中table_a中,有aid, bid, 查询记录,存在所有成对的记录,例如 aid = 10, bid = 11,如果存在aid = 11, bid = 10,就把这两条记录同时查出来,不存在则跳过。该怎么写呢?
table_a
aid, bid
aid = 10, bid = 11
aid = 11, bid = 10
select * from table_a where (aid, bid) in (select bid, aid from table_a )
这样写正确嘛?如果不对该怎么写呢?
闭关修行中......
很简单:
SELECT T.aid, T.bid FROM table_a T INNER JOIN table_a S ON T.aid = S.bid AND T.bid = S.aid
或者
SELECT T.aid, T.bid FROM table_a T, table_a S WHERE T.aid = S.bid AND T.bid = S.aid
也一样。
怎么判断aid bid是不是成对?
SELECT * FROM `table_a` WHERE concat ((aid*bid),'_',(aid+bid)) in ( SELECT concat((aid*bid),'_',(aid+bid)) FROM `table_a` GROUP BY (aid*bid),(aid+bid) HAVING count(id)>1 )
不知道这样子行不行(不行就当作是一种思路吧)
很简单:
或者
也一样。
怎么判断aid bid是不是成对?
不知道这样子行不行(不行就当作是一种思路吧)