有什么方法可以基于SQL Server中的多个列联接两个表?
我有两个桌子。
表1为:
id | Code | column 2| column 3| column 4 |
---+----------+---------+---------+----------+
1 | ABC | 6 | 6 | 9 |
2 | XYZ | 7 | 7 | 10 |
2 | MNO | 6 | 6 | 10 |
3 | XYZ | 6 | 7 | 10 |
3 | PQR | 5 | 6 | 3 |
4 | ABC | 9 | 8 | 8 |
5 | MNO | 1 | 2 | 6 |
表2为:
id | column 1 | Result
---+----------+--------------
1 | ABC | Pass
2 | XYZ | Pass
2 | MNO | Fail
3 | PQR | Fail
5 | MNO | Pass
现在,我想在ID
和CODE
的基础上将两个表引用到两个列。我想要表1中的所有行,并将结果仅放在表1中的匹配行中。
我的最终结果应该是这样的:
id | Code | column 2| column 3| column 4 | Result
---+----------+---------+---------+----------+--------
1 | ABC | 6 | 6 | 9 | Pass
2 | XYZ | 7 | 7 | 10 | Pass
2 | MNO | 6 | 6 | 10 | Fail
3 | XYZ | 6 | 7 | 10 |
3 | PQR | 5 | 6 | 3 | Pass
4 | ABC | 9 | 8 | 8 |
5 | MNO | 1 | 2 | 6 | Pass
我到目前为止使用的查询是
select
tb1.*, tb2.result
from
table1 tb1
left join
table2 tb2 on tb1.id = tb2.id and tb1.code = tb2.column1
此查询是否正确,因为我在表1上得到重复的行?