Цитата:
Сообщение от
S.Kuskov
Не понял вас.
Вам какой запрос нужен? В вашем примере вы джойните InventDim по условию "inventDim.InventBatchId == invendBatch.inventBatchId", т.е. только к тем проводкам у которых есть номер партии. Это не ошибка, это специально так?
Вот так вас не устроит?
X++:
select inventTrans
join InventDim
where inventDim.InventDimId == inventTrans.InventDimId
&& inventDim.InventLocationId == "склад1"
outer join InventBatch
where InventBatch.InventBatchId == inventDim.InventBatchId
&& InventBatch.itemId == inventTrans.itemId;
Прекрасно бы устроило если бы работало. На самом деле первоначально так и начинали писать следуя логике. Но так не работает совсем. При выполнении ошибка вылетала и вылетает.
Не удалось привязать составной идентификатор "A.ITEMID".
Вот конец самого SQL:
FROM {oj INVENTDIM B LEFT OUTER JOIN INVENTBATCH C ON ((C.DATAAREAID=?) AND ((B.INVENTBATCHID=C.INVENTBATCHID) AND (A.ITEMID=C.ITEMID)))},INVENTTRANS A WHERE ((A.DATAAREAID=?) AND (A.ITEMID=?)) AND ((B.DATAAREAID=?) AND ((B.INVENTDIMID=A.INVENTDIMID) AND (B.INVENTLOCATIONID=?)))