Цитата:
Сообщение от
Evgeniy2020
PurchLine PurchLine;
PurchLine PurchLine_1_1;
PurchTable PurchTable;
;
while SELECT SUM(PurchQty) FROM PurchLine
WHERE ((PurchLine.PurchStatus == 1))
&& ((PurchLine.ItemId == 'ФТ-018'))
EXISTS JOIN * FROM PurchTable
WHERE PurchLine.PurchId == PurchTable.PurchId && ((PurchTable.PurchStatus == 1))
NOTEXISTS JOIN * FROM PurchLine_1_1
WHERE PurchTable.PurchId ==
PurchLine_1_1.PurchId && ((PurchLine_1_1.ItemId == 'ФТ-018'))
&& ((((PurchLine_1_1.PurchStatus != 1)
|| (PurchLine_1_1.Blocked == 1))))
{
info('1');
}
PurchTable в этом запросе абсолютно лишний. Запрос эквивалентен следующему
X++:
PurchLine PurchLine;
PurchLine PurchLine_1_1;
;
while select sum(PurchQty) from PurchLine
where
PurchLine.PurchStatus == 1 && PurchLine.ItemId == 'ФТ-018'
notexists join PurchLine_1_1
where
PurchLine_1_1.PurchId == PurchLine.PurchId &&
PurchLine_1_1.ItemId == PurchLine.ItemId &&
(PurchLine_1_1.PurchStatus != 1 || PurchLine_1_1.Blocked == 1)
{
info('1');
}