-10

我有三张桌子:

联系方式 | 名字 | 姓
----------------------------------
1 | 沃尔特 | 氖


ID公司 | 公司名称
----------------------
1 | 宇宙


所有者 | 联系方式 | ID公司
---------------------------------
1 | 1 | 无效的
2 | 空 | 1
3 | 空 | 无效的


我需要一个查询,它会给我以下输出:

ID输出 | 姓名
--------------------
1 | 沃尔特·奈
2 | 宇宙
3 | 无效的
4

1 回答 1

1

即使另一条记录不存在,要进行连接并获得一半结果,请使用外连接。

要选择列表的第一个非 NULL 值,请使用 COALESCE:

SELECT IDowner as IDoutput,
       COALESCE(FirstName || ' '  || LastName, CompanyName) AS Name
FROM Owner
LEFT JOIN Contacts ON Owner.IDcontacts = Contacts.IDcontacts
LEFT JOIN Company  ON Owner.IDcompany  = Company .IDcompany
于 2013-10-16T11:32:47.430 回答