0
我試圖建立一個請求來從表中獲取數據,但其中一些列有外鍵,我想用一個請求中的關聯關鍵字替換這些外鍵。Postgresql從字典中獲取參考
基本上有一個與第1列
表A中:PKA-ID和列2:名稱。 表B第1列:PKB-ID,第2列:FKA-ID第3列:金額。
我想在表B,而由相關聯的名稱表A代替
我開始建設有一個子請求+別名來獲得一個請求的所有外鍵的所有行,但OFC我有每個子請求的結果不止一個,但我找不到將子請求與主表請求中的表B的ID關聯的方式[可能已被用盡,無論是雙重還是兩者]。我做了這樣的事情:
SELECT (SELECT "NAME" FROM A JOIN B ON ID = FKA-ID) AS name, amount FROM TABLEB;
感覺這麼簡單但又請求......
謝謝,這有幫助,我目前正在尋找自己,但我會在同時問:實際上有兩個引用到A表中,有兩個FKA,它們在理論上可能是相同的,但大多數時候他們不是,它會如何適用? – aurawastaken
嘗試類似但沒有的東西:SELECT b。「ID」,a。「fka」as n1,b。「VALUE1」,a。「fka」as n2,b。「VALUE2」,b。「VALUE3」,b 。「VALID」FROM public。「BTABLE」as b,public。「ATABLE」as WHERE n1 = a。「ID」AND n2 = a。「ID」 – aurawastaken
好吧,你幫助我重新創建我的問題並解決它SQL小提琴:http://sqlfiddle.com/#!9/94ba69/8,但我不知道它是如何工作的,因爲我從來沒有在子請求中引用TABLEB,我認爲這讓我感到困惑,不管怎樣,謝謝! [選擇'PK-ID-B',(從TABLEA選擇'名稱',其中'FKA-ID1'='PK-ID-A'),'VALUE1',(從'TABLEA選擇'名稱'FKA- ID2' ='PK-ID-A'),'VALUE2' FROM TABLEB;] – aurawastaken