我们说我有一个名为relation
的表,其中包含以下字段:
id, type, person1.id, person2.id
然后在那个名为person
的人的桌子上有这个字段:
id, name
现在我想创建一个包含以下信息的列表:
relation.id, relation.type, person1.id, person1.name, person2.id, person2.name
如何使用SQL语句实现此目的?我知道这可能是一个非常基本的问题。 : - (
答案 0 :(得分:2)
您需要两次使用人员表:
select rel.id, rel.type, p1.id, p1.name, p2.id, p2.name
from relation rel
, person p1
, person p2
where rel.person1 = p1.id
and rel.person2 = p2.id
查看this
答案 1 :(得分:-1)
select relation.type,a.Person1_name,b.person2.name from relation inner join
(select relation.type, person1.name Person1_name from relation inner join person
on relation.person1=person.name
where person1 is not null)a
on relation.type=a.type
inner join
(
select relation.type, person2.name,from relation inner join person
on relation.person2=person.name
where person2 is not null)b
on relation.type=a.type
请尝试此代码