Код: Выделить всё
SELECT g.GoodsName,
(SELECT TOP 1 i.Price FROM ns_incomedet i WHERE i.GoodsID=g.ID
ORDER BY i.UpdateDateTime DESC) AS Price,
(SELECT SUM(i.Amount) FROM ns_incomedet i WHERE i.GoodsID=g.ID) AS Credit,
(SELECT SUM(o.Amount) FROM ns_outlaydet o WHERE o.GoodsID=g.ID) AS Debit,
(SELECT SUM(i.Amount) FROM ns_incomedet i WHERE i.GoodsID=g.ID) -
(SELECT SUM(o.Amount) FROM ns_outlaydet o WHERE o.GoodsID=g.ID) AS Balance
FROM ns_goods g
Код: Выделить всё
SELECT g.GoodsName,
(SELECT TOP 1 i.Price FROM ns_incomedet i WHERE i.GoodsID=g.ID
ORDER BY i.UpdateDateTime DESC) AS Price,
(SELECT SUM(i.Amount) FROM ns_incomedet i WHERE i.GoodsID=g.ID) AS Credit,
(SELECT SUM(o.Amount) FROM ns_outlaydet o WHERE o.GoodsID=g.ID) AS Debit,
Credit - Debit AS Balance
FROM ns_goods g
получается что когда вычитаем из числа NULL то получаем в результате NULL
Т.е. если у меня есть приход но нет расхода, я получу NULL а не остаток ... как это порешать?
ISNULL так как я пробовал не помогает.