2016-07-27 138 views
0

我有兩個表1.material_line_item2.item_master有兩個表之間的外鍵關係(item_master_id目前在material_line_item),有一個在item_masteritem_code列。所以我想要一個連接查詢來顯示當前查詢的item_codeMySQL來計算SUM與外鍵關係

**item_master_table**

**material_line_item_table**

+0

外鍵用於數據一致性目的。 (在SELECT時沒有什麼區別。) – jarlh

+0

對此有什麼解決方案? – Ranjan

+0

你可以添加示例表格數據作爲文本,也是預期的結果? – jarlh

回答

1

我會通過將item_master表加入子查詢material_line_item來解決這個問題,該子查詢會計算每個項目主標識值所需的聚合。儘管您可以自由選擇所需的列,但我正在選擇所有列。

SELECT t1.*, t2.* 
FROM item_master t1 
INNER JOIN 
(
    SELECT item_master_id, 
      SUM(received_quantity) AS Total_Received_Qty, 
      SUM(ordered_quantity) AS Total_Ordered_Qty 
    FROM material_line_item 
    GROUP BY item_master_id 
) t2 
    ON t1.id = t2.item_master_id 
+0

太棒了:) @Tim Biegeleisen – Ranjan

0

你可以簡單地連接兩個表像

select item.item_master_id, master.item_id, Sum(received_quantity), 
sum(ordered_quantity) from material_line_item item 
left join item_master master on item.item_master_id = master.id 
group by item.item_master_id, master.item_id 
0

試試這個,

select a.item_master_id,a.Total_received_qty,a.Total_ordered_Qty,b.item_code from (select  item_master_id, 
     sum(received_quantity) Total_received_qty, 
     sum(ordered_quantity) Total_ordered_Qty 
     from material_line_item 
     group by item_master_id) a, item_master b where a.item_master_id =b.item_master_id 

希望這將有助於。