2012-10-10 113 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... 

;)