根据特定列值连接两个表

Joining two tables based on specific column value

我有两个 table(Table 1 和 Table 2),我想加入它们并创建 Table 3。逻辑如下:

Table1

专栏 1 |专栏2 |第 3 列
用户 1 | ID1 |名字1
用户 2 | ID2 |名字2
用户 3 | ID3 |姓名 3
用户 4 | ID4 |名字4


Table2

专栏 1 |列 2
用户 1 | ACT1
用户 1 | ACT1
用户 1 | ACT1
用户 1 | ACT1
用户 2 | ACT2
用户 3 | ACT3
用户 3 | ACT3
用户 3 | ACT3
用户 4 | ACT4


我希望加入的table是这样的:

Table 3

专栏 1 |专栏2 |第 3 列
用户 1 | ACT1 | ID1
用户 1 | ACT1 | ID1
用户 1 | ACT1 | ID1
用户 1 | ACT1 | ID1
用户 2 | ACT2 | ID2
用户 3 | ACT3 | ID3
用户 3 | ACT3 | ID3
用户 3 | ACT3 | ID3
用户 4 | ACT4 | ID4


基本上,Table 3 与 Table 2 相同。但是,每个用户的相应 ID 是从 Table1 中获取的,并作为单独的列加​​入。对所有用户重复此过程。

您只需使用 Table1Table2

中的 JOIN by column1
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

您似乎需要基于第 1 列的表 1 和表 2 之间的内部联接

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