Доброе утро,
Я пытаюсь создать вывод mysql из своих входящих и исходящих продуктов. Это работает, но я не могу получить значения для всех продуктов в одной строке. Надеюсь, кто-то может мне помочь. (В столбце orderinhoud-deellevering.aantal много значений NULL.)
это мой код:
SELECT
orderinhoud.Artnr,
orderinhoud.Description,
If(voorraadmutatie.waarde = 1, Sum(voorraadmutatie.waarde * (orderinhoud.Amount - Coalesce(('orderinhoud-deellevering'.aantal), 0))), 0) AS INKOMEND,
If(voorraadmutatie.waarde <> 1, Sum(voorraadmutatie.waarde * (orderinhoud.Amount - Coalesce(('orderinhoud-deellevering'.aantal), 0))), 0) AS UITGAAND
FROM
orderinhoud
RIGHT OUTER JOIN 'order' ON 'order'.id = orderinhoud.orderid
LEFT OUTER JOIN voorraadmutatie ON 'order'.voorraadmutatie = voorraadmutatie.Id
LEFT OUTER JOIN 'orderinhoud-deellevering' ON orderinhoud.orderinhoudid = 'orderinhoud-deellevering'.orderinhoudid
WHERE
'order'.leverancierid = 22
GROUP BY
orderinhoud.Artnr,
orderinhoud.Description,
'order'.deliverydatetotal,
'order'.leverancierid,
'order'.commissiecompleet,
'order'.voorraadmutatie
--- Результат, который я получаю, следующий:
Artnr Description INKOMEND UITGAAND
K30000 ROUND ALARM 2400 0
K30000 ROUND ALARM 0 -788
K30001 SQUARE ALARM 1900 0
K30001 SQUARE ALARM 0 -1020
Но выход, который я хочу иметь, заключается в следующем:
Artnr Description INKOMEND UITGAAND
K30000 ROUND ALARM 2400 -788
K30001 SQUARE ALARM 1900 -1020
Надеюсь, кто-то может мне помочь.
Спасибо, уже!
Select q1.Artnr,q1.Description,sum(INKOMEND),sum(UITGAAND)
from
(
SELECT
orderinhoud.Artnr,
orderinhoud.Description,
If(voorraadmutatie.waarde = 1,
Sum(voorraadmutatie.waarde * (orderinhoud.Amount - Coalesce(('orderinhoud-deellevering'.aantal), 0))), 0) AS INKOMEND,
If(voorraadmutatie.waarde <> 1, Sum(voorraadmutatie.waarde * (orderinhoud.Amount - Coalesce(('orderinhoud-deellevering'.aantal), 0))), 0) AS UITGAAND
FROM
orderinhoud
RIGHT OUTER JOIN 'order' ON 'order'.id = orderinhoud.orderid
LEFT OUTER JOIN voorraadmutatie ON 'order'.voorraadmutatie = voorraadmutatie.Id
LEFT OUTER JOIN 'orderinhoud-deellevering' ON orderinhoud.orderinhoudid = 'orderinhoud-deellevering'.orderinhoudid
WHERE
'order'.leverancierid = 22
GROUP BY
orderinhoud.Artnr,
orderinhoud.Description,
'order'.deliverydatetotal,
'order'.leverancierid,
'order'.commissiecompleet,
'order'.voorraadmutatie
) q1 group by q1.Artnr,q1.Description