我在查询以下内容时遇到了困难;
tablename =帐户
NAME | AccountCode | ParentAccountCode
约翰| A1 | NULL
菲利普| A2 | A1
我想要一个查询来选择2列
第一栏=姓名
第二列= ParentAccountName(自定义)
ParentAccountName列填充了代表其代码的Name。
所以Filip有一个ParentAccountCode A1,即John,因此自定义列ParentAccountName中的值应为'John'
应该是
我这样说:
> SELECT A.Name, AA.Name AS ParentAccountName FROM Account AS A
> INNER JOIN Account AS AA
> ON A.ParentAccountNumber = AA.AccountNumber WHERE A.AccountNumber = 'A2'
这导致ParentAccountName = John。 所以这很好,但是当选择AccountNumber = A1时,它不会显示结果。
即使ParentAccountName = null,如何让SQL给我一个结果集?
答案 0 :(得分:1)
您需要左外连接而不是内连接。
SELECT A.Name, AA.Name AS ParentAccountName FROM Account AS A
LEFT OUTER JOIN Account AS AA
ON A.ParentAccountNumber = AA.AccountNumber
答案 1 :(得分:0)
也许你需要自我加入:
SELECT T1.Name, T2.Name AS ParentAccountName
FROM Account T1 INNER JOIN Account T2 ON (T2.Account = T1.ParentAccountCode)