Страница 1 из 1

Помогите плз с запросом новичку!!!

Добавлено: 09 дек 2009, 12:03
rago
Есть такой запрос, который получает след таблицу НАЗВАНИЕ ГРУППЫ ТОВАРОВ | КОД ГРУППЫ ТОВАРОВ | СУММА ПРОДАЖИ

Код: Выделить всё

SELECT 
  SHGROUPS.NAME,
  SHGROUPS.CODE,
  SUM(PRODTOV.QUANT * PRODTOV.PRICE) AS SUMPROD
FROM
  PRODTOV
  RIGHT OUTER JOIN GOODS ON (PRODTOV.CODE = GOODS.CODE)
  INNER JOIN SHGROUPS ON (GOODS."GROUP" = SHGROUPS.CODE)
GROUP BY
  SHGROUPS.NAME,
  SHGROUPS.CODE
Он работает замечательно. Получает ВСЕ группы (даже те, товары из которых не были проданы)
НО! Ежели я хочу выбрать данные о продажах за период

Код: Выделить всё

SELECT 
  SHGROUPS.NAME,
  SHGROUPS.CODE,
  SUM(PRODTOV.QUANT * PRODTOV.PRICE) AS SUMPROD
FROM
  PRODTOV
  RIGHT OUTER JOIN GOODS ON (PRODTOV.CODE = GOODS.CODE)
  INNER JOIN SHGROUPS ON (GOODS."GROUP" = SHGROUPS.CODE)
[b]WHERE
  PRODTOV.DATETIME BETWEEN '01.12.2009 00:00:01' AND '01.12.2009  23:59:59'[/b]
GROUP BY
  SHGROUPS.NAME,
  SHGROUPS.CODE
то у меня получается результирующая таблица, в которую включены группы только тех товаров, которые были проданы в этот период

Подскажите, пожалста, что надо изменить в запросе :?:

Re: Помогите плз с запросом новичку!!!

Добавлено: 09 дек 2009, 14:22
Dimitry Sibiryakov
Перенести условие из WHERE в JOIN и прочитать статью про джоины на этом сайте. Нет, наоборот - сначала прочитать, а потом переносить.

Re: Помогите плз с запросом новичку!!!

Добавлено: 09 дек 2009, 15:27
kdv