如何使用第三个表合并两个表的信息?

时间:2019-05-03 12:36:29

标签: postgresql

我必须使用另一个表中的PK来引用表的信息。为此,我必须在第三张表中查看信息是否匹配。

为了更好地解释,我向您展示了我需要使用或更改的表中的 SELECT 屏幕截图。

在下两个表的屏幕快照中,我有一个Address表,其中包含有关差异地址和“ addressid” PK的信息。下表是一个Company表,它提供有关不同公司的信息。这些公司需要在两个不同的空列中的地址表中有两个FK。

Address Table Company Table

因此,我的表格中包含很多混合信息,包括与公司合并的地址。

使用此“导入”表,我必须在与地址表PK相关的Company表上设置空FK。

Import table part 1 Import table part 2

我尝试执行UPDATE函数,但是我真的不知道如何编写条件来使用此“导入”表来关联其他两个表。

非常感谢。

在“导入”表中,我具有“公司”表和“地址”表中的所有信息,但与其他未使用的信息混合在一起。因此,对于公司中的每一行,我都有一个公司名称,在导入表中进行搜索,在同一行中查找地址,在地址表中进行搜索,并将相应的PK放在公司表中。例如:COMPANY-Google IMPORT-Google California ADDRESS-Californa id1转到COMPANY-Google(在列地址上添加id1)...对不起,如果我解释的不太好。

1 个答案:

答案 0 :(得分:0)

类似的方法可能适用于收货地址:

update company c
set ordership_address = (select addressid 
                           from address a
                             inner join import i 
                                     on a.addressname = i.ordershipadress
                                        and a.postalcode = i.ordershippostalcode
                                     -- and other criteria ?
                          where i.companyname = c.companyname)

不知道您的address.cityid如何映射到某个东西,所以请留给您。