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