Cześć,
Mam problem z zapytaniem, może ktoś mnie nakieruję.
Mam dwie tabele z danymi: NADANIE(item_id, day_id, qtyS), ODBIOR(item_id, day_id, qtyN)
Dodatkowo mam tabele z czasem TIME i itemami ITEM.
Pojedyncze zapytania typu, dla jednego miesiąca i itemu.
select
dd.ITEM_ID
, sum(SH.qtyS) Qty
from XX_NADANIE sh
, XX_TIME d
, XX_ITEM dd
where SH.ITEM_ID = DD.ITEM_ID
and SH.DAY_ID = D.DAY_ID
and DD.ITEM = 'W1AAAA'
and D.MONTH = '2017 / 12'
group by dd.ITEM_ID
Otrzymuję coś takiego:
9390618-112 245
Wyglada ok.
To samo mogę zrobić dla drugiej tabeli:
select
dd.ITEM_ID
, sum(SH.qtyN) Qty
from XX_ODBIOR sh
, XX_TIME d
, XX_ITEM dd
where SH.ITEM_ID = DD.ITEM_ID
and SH.DAY_ID = D.DAY_ID
and DD.ITEM = 'W1AAAA'
and D.MONTH = '2017 / 12'
group by dd.ITEM_ID
i wyniki mam:
9390618-112 4
Teraz chcę połączyć dwa zapytania i uzyskać ogolnę wartości dla itemu.
select
dd.ITEM_ID
, sum(NC.QTY_NCM) Total_Qty_N
, sum(SH.ILOSC_WYS) Total_Qty_S
from XX_ODBIORS NC
, XX_NADANIE sh
, XX_TIME d
, XX_ITEM dd
where NC.ITEM_ID = DD.ITEM_ID
and NC.DAY_ID = D.DAY_ID
and SH.ITEM_ID = DD.ITEM_ID
and SH.DAY_ID = D.DAY_ID
and DD.ITEM = 'W1AAAA'
and D.MONTH = '2017 / 12'
group by dd.ITEM_ID
Ale wyniki jakie otrzymuję to:
9390618-112 3 70
Czyli wyniki są mniejsze niż w pojedynczych zapytaniach.
Jak skonstruować zapytanie, żeby dla danego itemu w tym miesiącu były wartości 'ogólne' z pojedynczych zapytań?