早上好,
我正在尝试从我的传入和传出产品创建一个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
我希望有人能帮助我。
谢谢!
答案 0 :(得分:0)
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