-1

表格1:

ID     Values
1      1
2      2
3      3
4      4

表 2:

ID    Values
1     1
1     2
1     2
2     4
4     5
4     6

我需要一个结果:

ID    Table 1 Values    Table 2 Values
1     1                 1
2     2                 4
3     3                         *This is blank because Table 2 doesn't have ID 3
4     4                 5
4     4                 6

注意表 2 中重复值(ID 1 和值 2)的行的排除。然而,ID 4 的 2 行是因为表 2 中 ID 4 的两个值都没有重复性。

所以这是一个左连接,我只想要表 2 中的值,该值不重复,并且 ID 与表 1 中的 ID 匹配。

4

1 回答 1

2

在表 2 上使用 CTE,然后将其用作左连接的右侧:

WITH t2 AS (
    SELECT ID, Values FROM [Table 2]
    GROUP BY ID, Values
    HAVING COUNT(*) = 1
)
SELECT t1.ID, t1.Values [Table 1 Values], t2.Values [Table 2 Values]
    FROM [Table 1] t1
    LEFT JOIN t2 ON t1.ID = t2.ID
于 2013-03-14T21:31:22.133 回答