繁体   English   中英

结合连接

[英]Combining Joins

我的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

第二个显示制造商ID:

select T1.manufacturerID, t2.*
from lkuManufacturer t1 right join X t2 on t1.manufacturerName = t2.manufacturer
order by manufacturerid

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

如果您希望它们基于表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

编辑:
如果你想将它们连接到相同的结果集而不是并排(如上所述),你应该能够使用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

您可以使用UNION ALL运算符来连接两个查询。

如果你不介意它们在单独的行上,那么执行UNION ALL语句。 如果你想要两个在同一行,你可能需要两个连接到X表。

暂无
暂无

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

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