无法自行加入具有 NULL 值的 table
Having trouble self joining a table with NULL values
我有一个 table 包含以下列:personID、name、parentID1 和 parentID2
本质上,我希望使用此 table 来查找 childs parent(s)
并非每个 child 都有两个 parent,因此这些值在 table 中为 NULL。我尝试过使用自连接,但它对我来说并不奏效。
TABLE
table 应该是这样的:
需要使用 LEFT 连接以便返回每一行,即使右侧没有匹配项 table
为每个人列出 Parents 即使 1 Parent 为 NULL
SELECT A.[name] AS Child
,B.[name] AS Parent1
,C.[name] AS Parent2
FROM YourTable AS A
LEFT JOIN YourTable AS B
ON A.ParentID1 = B.PersonID
LEFT JOIN YourTable AS C
ON A.ParentID2 = C.PersonID
WHERE A.ParentID1 IS NOT NULL
OR A.ParentID2 IS NOT NULL
我有一个 table 包含以下列:personID、name、parentID1 和 parentID2 本质上,我希望使用此 table 来查找 childs parent(s) 并非每个 child 都有两个 parent,因此这些值在 table 中为 NULL。我尝试过使用自连接,但它对我来说并不奏效。
TABLE
table 应该是这样的:
需要使用 LEFT 连接以便返回每一行,即使右侧没有匹配项 table
为每个人列出 Parents 即使 1 Parent 为 NULL
SELECT A.[name] AS Child
,B.[name] AS Parent1
,C.[name] AS Parent2
FROM YourTable AS A
LEFT JOIN YourTable AS B
ON A.ParentID1 = B.PersonID
LEFT JOIN YourTable AS C
ON A.ParentID2 = C.PersonID
WHERE A.ParentID1 IS NOT NULL
OR A.ParentID2 IS NOT NULL