2015-11-02 42 views
0

我希望你能帮助我:我正在开发php/mysql并在这个sql问题中得到stucked。我有一些领域的3个表:表1,表2和Table3.Let把EN例如:Mysql/PHP在一个查询中选择存在于Table1或Table2中的行

表/字段 Table1.Id Table2.Id Table3.Id

所以,我需要在一个查询( SELECT)以获取表2中或表3中存在的Table 1中的行。其实,我得到两个querys行和混合它(Table1.id = Table2.id)(Table1.id = Table3.id)

回答

1
select * from table1 
inner join 
table2 
on table1.id=table2.id 
union 
select * from table1 
inner join 
table3 
on table1.id=table3.id 
3

可能与子查询更好

select * 
    from Table1 t1 
    where t1.id in (select t2.id from Table2 t2) 
    or t1.id in (select t3.id from Table3 t3) 

select * 
     from Table1 t1 
     where t1.id in 
     (select t2.id from Table2 t2 
     union 
     select t3.id from Table3 t3) 
+0

很酷,感谢Mateo,您的解决方案工作正常。我很感激。 –

+0

很高兴能帮到你! –

相关问题