【发布时间】:2011-04-05 01:04:58
【问题描述】:
根据下表
Table_A
Id RelatedId
---------------
1 1
1 2
1 3
2 4
2 5
2 2
3 7
3 8
4 9
Table_B
RelatedId Name
--------------
2 A
3 B
我想从 Table_A 中获取在 Table_B 中至少有一个匹配的相关 ID 的所有行。 Table_A 中与 Table_B 不匹配的 Id 在结果表中将只有一行。
所以这种情况下的输出(结果表)将是
Id RelatedId
---------------
1 1
1 2
1 3
2 4
2 5
2 2
3 Null
4 Null
编辑:似乎问题文本让许多人感到困惑。所以详细解释一下:
Table_A Id 1 在 table_B 中有 2 和 3(相关 Id)匹配。因此输出将包含 Table_A 中 1 的所有行。 Table_A 中的相似 ID 2 在 table_B 中有 2 个(相关 ID)匹配。因此,Table_A 中对应于 2 的所有行都将被拾取。由于 3 在 table_B 中没有任何匹配的相关 ID,因此将显示但在结果表中以 NULL 作为相关 ID。
【问题讨论】:
标签: sql tsql sql-server-2008