【问题标题】:How to combine data from several database tables into a single result table in SQL如何在 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是正确的吗?

标签: sql postgresql


【解决方案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,我对此一无所知。我不确定我可以在那里添加什么。
猜你喜欢
  • 2021-04-12
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
相关资源
最近更新 更多