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 –