gpt4 book ai didi

sql - 从多个表中获取记录

转载 作者:行者123 更新时间:2023-11-29 13:53:27 25 4
gpt4 key购买 nike

我需要连接 postgresql 中三个表的记录。

表结构:

用户

Residence_id | Name | Mobile

1234 | A | 9876
23456 | B | 9786

账户

Residence_id | Balance

1234 | 1000
4545 | 567

地址

Residence_id | City   | Country

1234 | Mumbai | India
0124 | London | UK

预期结果:

Residence_id | Name | Mobile | Balance | City   | Country

1234 | A | 9876 | 1000 | Mumbai | India
23456 | B | 9786 | | |
4545 | | | 567 | |
0124 | | | | London | UK

提前致谢。

最佳答案

我认为最好的办法是设置一个包含所有 residence_id 的居住表:

residence_id(PK):
1234
23456
4545
0124

此列可用作其他 3 个表中的约束(外键)。要获得结果,您需要查询此表,并加入其他 3 个表。这样的事情应该有效:

 SELECT residence.residence_id, users.name, users.mobile, accounts.balance, address.city, address.country 
FROM residence LEFT OUTER JOIN users ON residence.residence_id=users.residence_id
LEFT OUTER JOIN accounts ON residence.residence_id=accounts.residence_id
LEFT OUTER JOIN address ON residence.residence_id=address.residence_id

关于sql - 从多个表中获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36597524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com