首页 > 解决方案 > SQL连接两个表的唯一键列

问题描述

假设我有两个表 A 和 B,它们都有一个唯一的键,如下所示(实际表中当然有更多的行和列):

Unique_Key       A        B
____________________________
    ABC          1        2
    BCD          5        6
    DDD          10       11


 Unique_Key      C        D
____________________________
    ABC          6        7
    BCD          8        9
    DDD          100      200

我想加入两个表的列Unique_Key以产生以下输出:

Unique_Key       A        B         C         D
_________________________________________________
    ABC          1        2         6         7
    BCD          5        6         8         9
    DDD          10       11        100       200

我试过这个:

select 
    [A], [C]
from 
    tableA r with (nolock) join tableB l with (nolock) on r.Unique_Key = 
l.Unique_Key

它的工作原理与组合表格一样多,但它会产生重复的行,我不知道为什么。这本质上是我想要避免的 - 有重复的行。

谢谢!

标签: sqlsql-server

解决方案


您可以使用在这种情况下运行良好的加入命令。

SELECT A.Unique_Key, A.Atable_Column1, A.Atable_Column2, B.Btable_Column3, B.Btable_Column4 
From Table1 A  inner join Table2 B
 on A.Unique_Key = B.Unique_Key

推荐阅读