挣扎于一对多,还包括主记录而无需添加引用自身的详细记录?
select * from master m
inner join detail d on d.id2 = m.id
where d.id1 = 1
这将返回
2,John,1,2
4,Nancy,1,4
如何让它也返回
1,Jim,nul,nul
如果我将1,1记录添加到下面的细节中,它可以正常工作,但希望能够解决这个问题。
主
1,Jim
2,John
3,Fred
4,Nancy
5,Jen
详细
1,2
1,4
3,5
由于 格伦
答案 0 :(得分:0)
我想你想要一个更复杂的on
表达式:
select *
from master m inner join
detail d
on d.id2 = m.id or d.id1 = m.id
where d.id1 = 1;
您也可以将其写为:
on m.id in (d.id1, d.id2)