簡體   English   中英

sql表聯接獲取行僅形成一個表

[英]sql table join get rows form one table only

我有以下A,B的列c1,c2

A
--
aId

B
--
bId, aId

假設A有以下各行

aid
1
3
4

並且B具有以下行

bId, aId
6, 1
5, 4
10, 1

我需要以下輸出

id
1
4

問題也就是說,我試圖獲取表A中的所有行,以使表B中某行的aId列存在A.aId。 我嘗試使用內部聯接,但是它使我行很多(在上面的示例中,它使我兩次進入行1 )。

該查詢似乎獲得了所需的結果:

SELECT DISTINCT(a.aid) FROM a INNER JOIN b ON a.aid = b.aid

您可以在B的子查詢上過濾A

select * from A where aId in (select aId from B)

如果您要從A獲得的唯一列是aID ,則您已經在B擁有它:

select distinct aId from B

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM