繁体   English   中英

如何使用空值自加入 postgresql

[英]How to self join with nulls postgresql

我想显示客户的姓名以及推荐他们的人的姓名。 我以为我走在正确的轨道上,但结果搞砸了。 我在WHERE子句中尝试了条件ReferredBy NOT NULL ReferredBy NOT NULLON子句中尝试了 ReferredBy NOT NULL - 不走运。 我将不胜感激任何帮助! sqlfiddle

CREATE TABLE Customers(
          Id int NOT NULL,
          Name varchar(50) NOT NULL,
          ReferredBy int  REFERENCES Customers(Id),
          PRIMARY KEY (Id)
);

INSERT INTO Customers VALUES
(11, 'Peter', 22),
(22, 'Ariel', NULL),
(33, 'Tom', 11);

我的做法:

 SELECT c.Id, c.Name, c.ReferredBy, n.Name as ReferredBy_name
 FROM Customers c
 LEFT JOIN Customers n
 ON c.Id = n.ReferredBy 

所需的 Output:

在此处输入图像描述

我认为JOIN条件使表格倒置:

SELECT c.Id, c.Name, c.ReferredBy, n.Name as ReferredBy_name
FROM Customers c LEFT JOIN
     Customers n
     ON n.Id = c.ReferredBy ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM