2016-07-27 4 views
0

У меня есть две таблиц 1.material_line_item и 2.item_master есть внешний ключ связь между двумя таблицами (item_master_id присутствует в material_line_item) и есть колонка называется item_code в item_master. Поэтому я хочу, чтобы запрос на объединение отображал item_code с моим текущим запросом.MySQL для вычисления суммы с внешним ключом отношением

**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

Try это,

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 

Надеется, что это поможет.