簡體   English   中英

根據特定列值連接兩個表

[英]Joining two tables based on specific column value

我有兩個表(表1和表2),我想加入它們並創建表3.邏輯如下:

表格1

column1 | column2 | 欄3
user1 | ID1 | 名1
user2 | ID2 | NAME2
user3 | ID3 | NAME3
user4 | ID4 | NAME4


表2

column1 | COLUMN2
user1 | ACT1
user1 | ACT1
user1 | ACT1
user1 | ACT1
user2 | ACT2
user3 | ACT3
user3 | ACT3
user3 | ACT3
user4 | ACT4


我希望連接表是這樣的:

表3

column1 | column2 | 欄3
user1 | ACT1 | ID1
user1 | ACT1 | ID1
user1 | ACT1 | ID1
user1 | ACT1 | ID1
user2 | ACT2 | ID2
user3 | ACT3 | ID3
user3 | ACT3 | ID3
user3 | ACT3 | ID3
user4 | ACT4 | ID4


基本上,表3與表2相同。但是,每個用戶的相應ID從Table1獲取並作為單獨的列連接。 對所有用戶重復此過程。

您只需要使用Table1Table2 column1列的JOIN

select t2.*,t1.column2 as column3
from Table1 t1 
inner join Table2 t2 on t1.column1 = t2.column1  

[結果]

| column1 | column2 | column3 |
|---------|---------|---------|
|   user1 |    ACT1 |     ID1 |
|   user1 |    ACT1 |     ID1 |
|   user1 |    ACT1 |     ID1 |
|   user1 |    ACT1 |     ID1 |
|   user2 |    ACT2 |     ID2 |
|   user3 |    ACT3 |     ID3 |
|   user3 |    ACT3 |     ID3 |
|   user3 |    ACT3 |     ID3 |
|   user4 |    ACT4 |     ID4 |

sqlfiddle

看來你需要基於column1的table1和table2之間的內部聯接

select  t1.column1, t2.column2, t1.column2 as column3 
from table1 t1 
inner join table2 t2 on t1.column1 = t2.column1 

你可以更簡單地得到答案:

select  t1.column1, t2.column2, t1.column2 as column3 
from table1 as t1,  table2 as t2 
where t1.column1 = t2.column1 

暫無
暫無

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

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