如何在 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 数据库中有两个表:

BiodataPRIMARY KEY (IdBiodata)

IdBiodata     Nama           Alamat  
-------------------------------------
13            Singgih        Jakarta
24            Arjuna         Surabaya

TeleponFOREIGN 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 中将多个数据库表中的数据组合成一个结果表的主要内容,如果未能解决你的问题,请参考以下文章

如何在pandas中将多个相同类别的行组合成一个?

如何在 SQL 开发人员中将多个表中的数据导出到多个 .TXT 文件中

在 Spark SQL 中将多个结构组合成单个结构

如何在android中将多个图像组合成一个图像?

如何在 SQL Server 2005 中将多行组合成以逗号分隔的列表?

SQL 从包含表名、列名和值列映射的数据表中将数据插入到多个表中,可以在源中更改