1
我在Postgresql中有2个表。这两个都有不同的架构。我想要的输出在共享屏幕截图。在Postgresql中与2个不同的表加入1个表
假设,对于字段HDRConfig,如果输出值是SE,那么我希望输出为软件工程而不是SE。我如何显示这些列与其余的列即HDRConfig,AbrConfig & SbrConfig?
我在Postgresql中有2个表。这两个都有不同的架构。我想要的输出在共享屏幕截图。在Postgresql中与2个不同的表加入1个表
假设,对于字段HDRConfig,如果输出值是SE,那么我希望输出为软件工程而不是SE。我如何显示这些列与其余的列即HDRConfig,AbrConfig & SbrConfig?
简单LEFT JOIN
:
SELECT l0.Code_Desc AS HDRConfig,
l1.Code_Desc AS AbrConfig,
l2.Code_Desc AS SbrConfig
FROM Equipment e
LEFT JOIN Lookup l0
ON e.HDRConfig = l0."Code"
LEFT JOIN Lookup l1
ON e.AbrConfig = l1."Code"
LEFT JOIN Lookup l2
ON e.SbrConfig = l2."Code";
╔═══════════════════════╦═══════════════════════╦══════════════════════╗
║ hdrconfig ║ abrconfig ║ sbrconfig ║
╠═══════════════════════╬═══════════════════════╬══════════════════════╣
║ Software Engineering ║ Software Engineering ║ Software Engineering ║
║ (null) ║ Analog System ║ Floppy Primary ║
╚═══════════════════════╩═══════════════════════╩══════════════════════╝
使用CORREL ETAD子查询(低效的方式):
SELECT
(SELECT Code_desc FROM Lookup WHERE "Code" = e.HDRConfig) AS HDRConfig,
(SELECT Code_desc FROM Lookup WHERE "Code" = e.ABRConfig) AS ABRConfig,
(SELECT Code_desc FROM Lookup WHERE "Code" = e.SbrConfig) AS SbrConfig
FROM Equipment e;
http://meta.stackoverflow.com/q/271055/330315 –