2017-03-05 65 views
0

order_master操縱兩個MySQL表,並得到第三個表

order_id, name, address 
1, Andy, Hong Kong 
2, Sandy, NYT 

order_child

item_id, order_id, no_of_parcels, qty 
1, 1, 1, abc book, 3 
2, 1, 1, sss book, 5 
3, 2, 1, jj book, 2 
4, 2, 1, aa book, 3 

現在我想上面使用PHP和MySQL讓我的網頁上的第三個表的兩個表結合起來。

爲了

order_id, name, no_of_parcels, description, qty 
1, Andy, 2, (abc book, sss book), 8 
2, Sandy, 2, (jj book, aa book), 5 

請幫助。

+0

您是否嘗試過任何的MySQL?發佈你到目前爲止? – Andrew

回答

0

您執行聚集找到資金和group_concats,然後,與主表中加入它:

select * 
from order_master m 
join (
    select order_id, 
     sum(num_of_parcels) num_of_parcels, 
     group_concat(description order by item_id separator ', ') description, 
     sum(qty) qty 
    from order_child 
    group by order_id 
    ) c 
    on m.order_id = c.order_id; 

如果你想做到這一點沒有子查詢:

select m.order_id, 
    m.name, 
    m.address, 
    sum(c.num_of_parcels) num_of_parcels, 
    group_concat(c.description order by c.item_id separator ', ') description, 
    sum(c.qty) qty 
from order_master m 
join order_child c 
    on m.order_id = c.order_id 
group by m.order_id, 
    m.name, 
    m.address, 
+0

謝謝Gurv。有效。 – JayV

相關問題