结合连接

Mad*_* Zu 4 sql join

我的X表有设施名称和制造商名称,但我需要将它们显示为facilityID和manufacturerID.

我写了两个连接来显示它们:

第一个显示设施ID:

select T1.facilityID, t2.*
from lkuFacility t1 right join X t2 on t1.facilityName = t2.facility
and t1.siteCode = t2.siteID
order by siteid
Run Code Online (Sandbox Code Playgroud)

第二个显示制造商ID:

select T1.manufacturerID, t2.*
from lkuManufacturer t1 right join X t2 on t1.manufacturerName = t2.manufacturer
order by manufacturerid
Run Code Online (Sandbox Code Playgroud)

如何将它们放入一个查询中,以在一个结果屏幕上显示设施ID和制造商ID?

Ric*_*kir 6

如果您希望它们基于表链接X,请尝试以下方法:

SELECT f.facilityID, m.manufacturerID, X.*
FROM X
LEFT JOIN lkuFacility AS f
ON f.facilityname = X.facility AND f.siteCode = X.siteID
LEFT JOIN lkiManufacturer AS m
ON m.manufacturerName = X.manufacturer
Run Code Online (Sandbox Code Playgroud)

编辑:
如果您想将它们连接到相同的结果集但不是并排(如上所述),您应该能够UNION像这样使用运算符:

select T1.facilityID, t2.*
from lkuFacility t1 right join X t2 on t1.facilityName = t2.facility
and t1.siteCode = t2.siteID
UNION ALL
select T1.manufacturerID, t2.*
from lkuManufacturer t1 right join X t2 on t1.manufacturerName = t2.manufacturer
order by manufacturerid
Run Code Online (Sandbox Code Playgroud)