Допустим, у меня есть следующие таблицы: inv_mast, po_hdr, po_line и vessel_receipts_line И у меня есть следующие данные:
inv_mast.inv_mast_uid
12
2852
po_hdr.po_no
1000019
1000118
po_line.po_no|line_id|po_line_uid|inv_mast_uid
1000019 |1 |234 |12
1000118 |1 |646 |2852
1000118 |2 |648 |2852
vessel_receipts_line.po_line_uid|container_qty_received|row_status_flag
234 |9700 |702
646 |320000 |702
646 |2710000 |701
648 |3250000 |702
Теперь я пытаюсь суммировать container_qty_received для каждого po_no + inv_mast_uid + row_status_flag, которыйдолжно быть 702. Например, ожидаемый результат:
po_no |inv_mast_uid|container_qty_received|row_status_flag
1000019|12 |9700 |702
1000118|2852 |3570000 |702
1000118|2852 |2710000 |701
Я пробовал несколько разных кодов, с левым соединением или с подзапросом, ни один из них не работает.Две величины просто не суммируются.Результат теперь:
po_no |inv_mast_uid|container_qty_received
1000019|12 |9700
1000118|2852 |320000
1000118|2852 |3250000
Вот одна из моих попыток.
SELECT a.inv_mast_uid
, b.qty_in_vessel as qty_in_vessel
, c.po_no
FROM po_line a
LEFT JOIN
po_hdr AS c ON a.po_no = c.po_no
LEFT JOIN
(
SELECT vessel_receipts_line.po_line_uid, SUM(vessel_receipts_line.container_qty_received) AS qty_in_vessel
FROM vessel_receipts_line
WHERE vessel_receipts_line.row_status_flag = 702
GROUP BY
vessel_receipts_line.po_line_uid
) AS b
ON b.po_line_uid = a.po_line_uid
GROUP BY
a.inv_mast_uid, b.qty_in_vessel, c.po_no
ORDER BY c.po_no
Пожалуйста, помогите!