我有三个人,地址和身份证。
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显示表的后半部分。 我如何才能完成这项工作我是新来的查询任何帮助表示赞赏。
答案 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
的列对我来说似乎不正确。