Показать сообщение отдельно
Старый 01.09.2011, 16:36   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Borsugg Посмотреть сообщение
Запрос не отрабатывает как надо. Куда копать? Спасибо.
Специфика SQL в аксапте такова, что сначала всегда выполняются все джойны, а только потом группировки. HAVING в аксапте тоже отсутствует. Поэтому единственная возможность здалать такую выбоорку через аксапту - это разбить ваш запрос на два вложенных.

X++:
while select ForceNestedLoop sum(qty)
        from _inventtrans
        group by Itemid, InventDimId
        where _inventtrans.StatusReceipt == StatusReceipt::Ordered
{
    select firstonly Ordered from _inventsum
        where _inventsum.ItemId == _inventtrans.ItemId
           && _inventsum.inventDimId == _inventtrans.InventDimId;
    if(_inventsum.Ordered != _inventtrans.qty)
        info(_inventtrans.ItemId)
}

Последний раз редактировалось S.Kuskov; 01.09.2011 в 16:40.