2014-02-22 69 views
1

我需要創建一個包含多個表的查詢,但我並不擅長這一點。SQL。查詢多表

我有7張桌子。

page1_table 
page2_table 
page3_table 
page4_table 
page5_table 
page6_table 
page7_table 

所有表都有行用戶ID作爲主要和狀態。

我將需要一個查詢,獲取所有*這是條件;

WHERE status = 'No' AND userid = '".$_SESSION['userid']."'. 

回答

1

你的表的格式還不清楚,但如果他們都具有相同的結構,可以聯合他們一起在一個CTE和之後的應用過濾器CTE:

"select * 
from (
    select * from page1_table union all 
    select * from page2_table union all 
    select * from page3_table union all 
    select * from page4_table union all 
    select * from page5_table union all 
    select * from page6_table union all 
    select * from page7_table 
    ) t 
where t.status = 'No' AND t.userid = '".$_SESSION['userid']."'" 
+0

謝謝!這一個工作。 – Napsters

+0

非常歡迎您先生! :) –

1

嘗試與INNER JOIN查詢

"SELECT * 
FROM page1_table a 
INNER JOIN page2_table b 
ON a.userid = b.userid 
INNER JOIN page3_table c 
ON b.userid = c.userid 
INNER JOIN page4_table d 
ON c.userid = d.userid 
INNER JOIN page5_table e 
ON d.userid = e.userid 
INNER JOIN page6_table f 
ON e.userid = f.userid 
INNER JOIN page7_table g 
ON f.userid = g.userid 
WHERE a.status = 'No' 
AND a.userid = '".$_SESSION['userid']."'" 
+0

感謝您的快速回答。忘記我需要工會。 – Napsters