当我执行以下代码时,我得到的结果如下:
ID column1 column2
34 NULL NULL
34 Org13 Org13
36 NULL NULL
36 NULL Org2
36 Org4 NULL
41 NULL NULL
41 NULL Org5
41 Org3 NULL
我希望我的结果看起来像:
ID column1 column2
34 Org13 Org13
36 Org4 Org2
41 Org3 Org5
我有两张桌子:Table1 和 Table2。Table2 是一个查找表,包含以下字段:id、name
表 1 具有以下字段(id、column1、column2)。column1 和 column2 都与查找表有外键关系:
FK_1: Table1.column1-Table2.id
FK_2: Table1.column2-Table2.id
由于我想提取 column1 和 column2 的值,并且由于这两个值都是在同一字段(Table2.name)上的查找,我怀疑我需要进行内部选择。
我的代码如下。我该如何更改它以产生所需的结果,而不是我得到的结果?提前致谢!
DECLARE @value INT
SET @value = 14
SELECT DISTINCT
Table1.[id] AS ID
, ( SELECT DISTINCT
Table2.[name]
WHERE
Table1.column1 =
Table2.id ) AS column1
, ( SELECT DISTINCT
Table2.[name]
WHERE
Table1.column2 =
Table2.id ) AS column2
FROM
Table1
,Table2
WHERE
Table1.[id] = @value