2011-06-13 40 views
1

我有兩個表table_purchase1和table_purchase2。從這些表格中,我想列出按日期排序的購買歷史記錄。mysql加入從兩個表中列出項目

我的表

table_purchase1 

purchase_id user_id item date 
    1    1  AA1 2011-06-10 
    2    1  AA2 2011-06-12 


table_purchase2 

purchase_id user_id item  date 
    1    1  BB1 2011-06-11 
    2    1  BB2 2011-06-13 

期待導致

項目

BB2,AA2,BB1,AA1 

我怎樣才能做到這一點

感謝

回答

2

您可以使用UNION:

(SELECT item, `date` FROM table_purchase1) 
UNION 
(SELECT item, `date` FROM table_purchase2) 
ORDER BY `date` 

如果您需要單列以下威力工作:

SELECT GROUP_CONCAT(
( (SELECT item, `date` FROM table_purchase1) 
UNION 
    (SELECT item, `date` FROM table_purchase2) 
ORDER BY `date` 
)) 
+0

謝謝cem,它的工作原理我怎麼能從這個查詢計數 – Gowri 2011-06-13 06:35:40

+0

@gowri:我想你應該運行一個單獨的查詢,或修改它,以便聯合部分將在from子句(不要忘記mysql需要重命名),你可以使用GROUP_CONCAT(item) ,COUNT(*) – 2011-06-13 06:41:06

0
(SELECT 
item 
FROM 
table_purchase1) 
UNION 
(SELECT 
item 
FROM 
table_purchase2) 
ORDER BY `date` 
0

$ SQL =(SELECT itemdate FROM table_purchase1)UNION(SELECT itemdate FROM table_purchase2)ORDER BY date