我正在尝试使用此查询搜索table1或table2中具有id匹配的table3行
SELECT T1.*, T3.*,T2.*
FROM (
select id
from table1
where condition like '%field%') T1
inner join table3 T3
ON T3.id=T1.id
left join (
select id
from table2
where condition like '%field%') T2
ON T3.id=T2.id
如果在表T1中有匹配但在表2中没有匹配,则查询工作正常,但如果在table1中没有匹配但在table2中查询没有显示任何结果。
有人可以帮助我吗?
由于
答案 0 :(得分:2)
做左连接以避免排除行,并添加一个具有您需要的条件的地方为了可读性,避免右连接和jsut使用正确的表顺序
SELECT T1.*, T3.*,T2.*
FROM Table3 T3
left join (
select id
from table1
where condition like '%field%') T1
ON T3.id=T1.id
left join (
select id
from table2
where condition like '%field%') T2
ON T3.id=T2.id
where t3.id is not null or t2.id is not null