2011-01-24 70 views
2

我有兩個包含相似數據但格式略有不同的表。從兩個不同的SQL表中返回結果作爲搜索結果

是否可以從兩個表中返回搜索結果?我也需要分析這些結果。

+0

使用SQL「加入」http://en.wikipedia.org/wiki/Join_%28SQL%29,或「聯合」http://en.wikipedia.org/wiki/Set_operations_%28SQL%29# UNION_operator從兩個表中檢索數據 – 2011-01-24 09:06:29

回答

1

您可以使用UNION查詢兩個表,並在短短一個查詢返回結果:

SELECT field1,field2 FROM table1 
UNION 
SELECT field1,field2 FROM table2 

如果table1table2有很大的不同,你可以用更復雜的FROM使用其他select類似的UNION結合起來。 ..

SELECT field1,field2 FROM (SELECT id1 as field1,id2 as field2 FROM table1a,table1b WHERE id1 = id2) 
UNION 
SELECT field1,field2 FROM table2 

進行分頁的結果,你可以在另一個select附上工會和使用limitoffset ....

SELECT field1,field2 FROM (
    SELECT field1,field2 FROM table1 
    UNION 
    SELECT field1,field2 FROM table2 
) LIMIT 100 OFFSET 0 

如果你給我們的表結構的小描述中,我們也許能幫助更好。