簡體   English   中英

處理兩個MySQL表並獲取第三個表

[英]Manipulate two MySQL tables and get third table

order_master

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

請幫忙。

您執行聚合以找到總和和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,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM