2012-10-10 117 views
1

是否有可能在查询中加入mysql的两个查询?来自两个表的Mysql查询

像:

select * from a + select * from b 

所以,我可以在一个单一的PHP循环使用它们。

+0

这些是什么表的结构?以及它们如何相关? –

+0

对于所有行,每个表是否存在值?如果是这样,SELECT a。*,b。* FROM INNER JOIN a.id = b.a_id – user1032531

回答

3

如果他们有相同的列数和数据类型是相同的每一列中,那么你可以使用一个UNIONUNION ALL

select * 
from a 
UNION ALL 
select * 
from b 

如果你提供有关表格,数据等详细资料,那么可能有另一种方式返回这些数据。

A UNION将仅返回DISTINCT值,而UNION ALL将选择所有值。

如果这是您需要采取的路线,并且您仍然需要确定数据来自哪个表格,那么您始终可以创建一列来标识数据来自哪个表格,类似如下:

select *, 'a' TableName 
from a 
UNION ALL 
select *, 'b' TableName 
from b 

这可以让你区分数据来自哪个表。

0

我觉得它更容易创建SQL“变量”,如:

select varA, varb from TableA, tableB; 

,你可以只用PHP访问属性值播放。

这样,你可以采取条件查询,如:

select varA, varb from TableA, tableB where varA.id = varB.foreingId bla bla... 

;)