如何在 SQL 中将多个数据库表中的数据组合成一个结果表
Posted
技术标签:
【中文标题】如何在 SQL 中将多个数据库表中的数据组合成一个结果表【英文标题】:How to combine data from several database tables into a single result table in SQL 【发布时间】:2013-07-04 19:35:53 【问题描述】:我的 Postgre SQL 数据库中有两个表:
表Biodata
,PRIMARY KEY (IdBiodata)
:
IdBiodata Nama Alamat
-------------------------------------
13 Singgih Jakarta
24 Arjuna Surabaya
表Telepon
,FOREIGN KEY (IdBiodata)
:
IdTelepon IdBiodata telepon
------------------------------------
1 13 08180898XXX
2 13 08889153XXX
3 24 08788823XXX
有了这两个表,如何编写查询才能得到如下结果:
Nama Alamat Telepon
---------------------------------
Singgih Jakarta 08180898XXX
null null 08889153XXX
Arjuna Surabaya 08788823XXX
我试过了,但没有找到解决办法,请帮忙..
【问题讨论】:
您当然可以为这个问题想出一个有意义的标题。此外,如果你能清理格式,那就太好了。 你确定没有更大的字体可以使用吗? 我在阅读你的问题时眼睛很痛 如果我听到的是您想从 IdBiodata 中选择,为什么第二行会为空?我不明白。需要更多信息。 你确定Telepon
第二行的idBiodata
是正确的吗?
【参考方案1】:
你想要的是可能OUTER JOIN
:
SELECT Biodata.Nama, Biodata.Alamat, Telepon.telepon
FROM Biodata RIGHT OUTER JOIN Telepon ON Biodata.IdBiodata=Telepon.IdBiodata
【讨论】:
我试过你的代码。 Killingswort,Barmar 和其他回答我问题的人,我的问题实际上是在这里,请看HERE @Singgih:我不确定人们是否得到通知(除了我,因为你已经评论了我的回答)。我刚刚就这个问题发表了评论,其中提到了对您的问题作出回应的人,以便通知他们。下次看看它是如何完成的:) 新问题是关于完全相同的查询,还有关于 Java 和 I-Report,我对此一无所知。我不确定我可以在那里添加什么。以上是关于如何在 SQL 中将多个数据库表中的数据组合成一个结果表的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL 开发人员中将多个表中的数据导出到多个 .TXT 文件中