[英]Joining two tables based on specific column value
I have two tables (Table 1 and Table 2) that I want to join them and create Table 3. The logic is the following: 我有两个表(表1和表2),我想加入它们并创建表3.逻辑如下:
Table 1 表格1
column1 | column1 | column2 | column2 | column3 栏3
user1 | user1 | ID1 | ID1 | name1 名1
user2 | user2 | ID2 | ID2 | name2 NAME2
user3 | user3 | ID3 | ID3 | name3 NAME3
user4 | user4 | ID4 | ID4 | name4 NAME4
Table 2 表2
column1 | column1 | column2 COLUMN2
user1 | user1 | ACT1 ACT1
user1 | user1 | ACT1 ACT1
user1 | user1 | ACT1 ACT1
user1 | user1 | ACT1 ACT1
user2 | user2 | ACT2 ACT2
user3 | user3 | ACT3 ACT3
user3 | user3 | ACT3 ACT3
user3 | user3 | ACT3 ACT3
user4 | user4 | ACT4 ACT4
Table 3 表3
column1 | column1 | column2 | column2 | column3 栏3
user1 | user1 | ACT1 | ACT1 | ID1 ID1
user1 | user1 | ACT1 | ACT1 | ID1 ID1
user1 | user1 | ACT1 | ACT1 | ID1 ID1
user1 | user1 | ACT1 | ACT1 | ID1 ID1
user2 | user2 | ACT2 | ACT2 | ID2 ID2
user3 | user3 | ACT3 | ACT3 | ID3 ID3
user3 | user3 | ACT3 | ACT3 | ID3 ID3
user3 | user3 | ACT3 | ACT3 | ID3 ID3
user4 | user4 | ACT4 | ACT4 | ID4 ID4
Basically, Table 3 is the same as Table 2. But, the corresponding ID for each user is fetched from Table1 and joined as a separate column. 基本上,表3与表2相同。但是,每个用户的相应ID从Table1获取并作为单独的列连接。 This process is repeated for all users. 对所有用户重复此过程。
You just need to use JOIN
by column1
column from Table1
and Table2
您只需要使用Table1
和Table2
column1
列的JOIN
select t2.*,t1.column2 as column3
from Table1 t1
inner join Table2 t2 on t1.column1 = t2.column1
[Results] : [结果] :
| 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 |
seems you need an inner join between table1 and table2 based on column1 看来你需要基于column1的table1和table2之间的内部联接
select t1.column1, t2.column2, t1.column2 as column3
from table1 t1
inner join table2 t2 on t1.column1 = t2.column1
You can have that answer even more simple: 你可以更简单地得到答案:
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.