-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 の両方の値に重複がないため、ID 4 の 2 行です。

したがって、これは左結合であり、その値が重複しておらず、ID がテーブル 1 の ID と一致するテーブル 2 の値のみが必要です。

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 に答える