SQL-запрос не работает - PullRequest
0 голосов
/ 20 октября 2011

У меня проблема с этим запросом:

SELECT Ordre.Objet, Count(Ordre.Objet) AS CompteDeObjet
FROM Ordre INNER JOIN Avis ON Ordre.[Ordre SAP] = Avis.[Ordre SAP]
GROUP BY Ordre.Objet, Avis.[Date Appel], Ordre.Objet
HAVING (((Avis.[Date Appel])>#8/1/2011# And (Avis.[Date Appel])<#10/20/2011#) AND ((Ordre.Objet) Is Not Null));

То, что я сгенерировал с помощью Access 2003. Он должен подсчитывать количество элементов каждого вида в столбце Объект, но показывает только один элемент на каждый элемент ... Не могу понять, как заставить это работать.

[EDIT]

Учитывая первые два ответа, я изменил свой код на следующий, но все равно получаю тот же результат:

SELECT Ordre.Objet, Count(Ordre.Objet) AS CompteDeObjet
FROM Ordre INNER JOIN Avis ON Ordre.[Ordre SAP] = Avis.[Ordre SAP]
WHERE (((Avis.[Date Appel])>#8/1/2011# And (Avis.[Date Appel])<#10/20/2011#) AND ((Ordre.Objet) Is Not Null))
GROUP BY Ordre.Objet; 

[РЕДАКТИРОВАТЬ # 2] Вот образец моих данных:

Ordre SAP Objet

11147212 Симплекс

11147214 Симплекс

11147215 Симплекс

11147216 Симплекс

11147225 Симплекс

11147240 Авто Уровень

11147243

11147247 CANOPY

11147259 Capteur

А вот что дает мне запрос из последнего редактирования:

Авто Уровень 1 Навес 1 Capteur 1 Симплекс 1

Все мои данные включены в диапазон дат, указанный в запросе. Извините, я не знаю, как показать это в правильной таблице, я новичок здесь ...

Ответы [ 3 ]

2 голосов
/ 20 октября 2011

В запросе будет указана одна строка / количество для каждого элемента, на который вы GROUP BY.

Вы группируете по:

 GROUP BY Ordre.Objet, Avis.[Date Appel], Ordre.Objet

Таким образом, вы получите один фунт за каждый предмет / дату апелляциикомбинация

0 голосов
/ 21 октября 2011

Хорошо, я понял, в чем заключается моя проблема:

У меня гораздо больше Орденов, чем у меня Авис, и не у всех ависов есть ордре. Мой запрос как-то учитывает только те объекты, к которым подключен Avis (из-за предложения JOIN?) поэтому во время тестирования я просто поместил много разных значений в случайную запись в таблице заказов. просто так получилось, что я поместил по одному на Ордре с соответствующим Avis ...

Глупый я:)

Спасибо всем, помощь всегда ценится

0 голосов
/ 20 октября 2011

Попробуйте переместить то, что содержится в предложении HAVING, в предложение WHERE. HAVING фильтрует сгруппированные элементы, это может помешать запросу правильно считать элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...