Цитата:
Теперь всё правильно???
Ну, если совсем уж правильно, то нужно:
MAX(InventSum) - IsNull(SUM(InventTrans),0)
И DataAreaId на обе таблицы
Да, при LEFT JOIN в директиве WHERE допустимы только условия на таблицу InventSum, а все условия на таблицу InventTrans надо перенести в условия объединения:
Код:
SELECT
InventSum.ItemId,
InventSum.InventDimId,
MAX(InventSum.PostedQty) - IsNull(SUM(InventTrans.Qty),0) as Qty
FROM InventSum
LEFT JOIN InventTrans ON InventSum.InventDimId = InventTrans.InventDimId
AND InventSum.ItemId = InventTrans.ItemId
AND InventSum.DataAreaId = InventTrans.DataAreaId
AND InventTrans.DatePhysical >= '20060101'
AND (InventTrans.StatusIssue IN (1,2,3)
OR InventTrans.StatusReceipt IN (1,2,3))
WHERE InventSum.DataAreaId = ...
GROUP BY
InventSum.ItemId,
InventSum.InventDimId