Показать сообщение отдельно
Старый 02.03.2006, 17:45   #1  
ViV is offline
ViV
Axapta Retail User
Самостоятельные клиенты AX
Axapta Retail User
 
200 / 79 (3) ++++
Регистрация: 14.09.2005
Angry Почти одинаковые запросы возвращают разные данные
Понадобилось сделать легкий (казалось бы) отчетик - смысл которого вывести количество продаж по дням месяца (сгруппировать по дню а затем по категории).
Привожу результаты запроса из мониторинга SQL запросов:

SELECT COUNT(A.SUMSALE),A.CREATEDDATE,B.CATEGORY FROM SALESTABLE A,MYTABLE B WHERE ((A.DATAAREAID='tst') AND (A.CREATEDDATE={ts '2006-02-04 00:00:00.000'})) AND ((B.DATAAREAID='tst') AND (A.SALESID=B.SALESID))
GROUP BY A.CREATEDDATE,B.CATEGORY
ORDER BY A.CREATEDDATE,B.CATEGORY OPTION(FAST 5)
Не возвращает нужную строку

SELECT COUNT(A.SUMSALE),A.CREATEDDATE,B.CATEGORY FROM SALESTABLE A,MYTABLE B WHERE ((A.DATAAREAID='tst') AND (A.CREATEDDATE={ts '2006-02-04 00:00:00.000'})) AND ((B.DATAAREAID='tst') AND ((B.CATEGORY='25') AND (A.SALESID=B.SALESID)))
GROUP BY A.CREATEDDATE,B.CATEGORY
ORDER BY A.CREATEDDATE,B.CATEGORY OPTION(FAST 5)
Есть нужная строка

Вся разница запросов в том, что во втором варианте явно указан фильтрующий признак B.CATEGORY='25' - и соотвествующая строка появляется в отчете.
Без фильтра по B.CATEGORY возвращаются не все строки (в частности нет 25).

C чем такое поведение может быть связано?!

Upd: Так. Создала job с запросом, который приведен первым - он отработал правильно. Значит дело в отчете?!
Что там может мешать?! Простой отчет с автоматическим дизайном и одним body.