加入表格并显示比较

时间:2016-09-24 13:38:07

标签: sql oracle join

我有三个人,地址和身份证。

ID表有两列ID1和ID2。我试图从人和地址中获取数据,比如下面显示的那样。

当ID1 = Person.ID = Address.ID且ID2 = person.ID = Address.ID

________________________________________________________________________ 
name 1  age1    address1    city1   name2   age2    address2    city2
_________________________________________________________________________
abc      34    123 street    LA      abc    34     111 street   LA
xyz      22     New Street   DC      xyz    22     New Street   DC
___________________________________________________________________________

所以基本上我想基于ID1显示上表的前半部分,并使用ID2显示表的后半部分。 我如何才能完成这项工作我是新来的查询任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找这样的东西:

select p1.name as name1, . . . 
from id join
     address a1
     on id.id1 = a1.id join
     person p1
     on id.id1 = p1.id join
     address a2
     on id.id2 = a2.id join
     person p2
     on id.id2 = p2.id;

注意:您的数据结构似乎很奇怪。在两个不同的实体(“人”和“地址”)之间共享一个名为id的列对我来说似乎不正确。