crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

NetWorm
  опции профиля:
сообщение 12.11.2011, 20:53
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 2.8.2011
Пользователь №: 2784

Спасибо сказали: 0 раз(а)




Репутация:   0  


SELECT
   materials.name AS material, 
   SUM(o_sklad.count) AS count, 
   ed_izm.name AS ed_izm,
   0 AS count2 
FROM 
   o_sklad, 
   materials, 
   ed_izm 
WHERE 
   o_sklad.id_material = materials.id 
   AND materials.id_ed_izm = ed_izm.id 
   AND o_sklad.date <'01.11.2011'
GROUP BY 
   materials.name, 
   ed_izm.name

   UNION ALL

SELECT
   materials.name AS material, 
   SUM(0) AS count, 
   ed_izm.name AS ed_izm,
   SUM(o_sklad.count) AS count2
FROM 
   o_sklad, 
   materials, 
   ed_izm 
WHERE 
   o_sklad.id_material = materials.id 
   AND materials.id_ed_izm = ed_izm.id 
   AND o_sklad.date <'30.11.2011'
GROUP BY 
   materials.name, 
   ed_izm.name


И в результате возвращаются двойные строки. т.е. он не объединяет SUM(0) AS count2 из первого запроса и SUM(o_sklad.count) AS count2. Короче мне нужно получить одну таблицу с результатами двух запросов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ilyabvt
  опции профиля:
сообщение 12.11.2011, 22:03
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


А мне непонятна логика запроса.
Цитата
o_sklad.date <'01.11.2011'

Цитата
o_sklad.date <'30.11.2011'

Мне кажется тут будет наблюдаться пересечение.
Цитата
SUM(0)

Зачем суммировать 0?
Цитата
SUM(0) AS count2 из первого запроса

В первом запросе у вас "0 AS count2 ". Но это уже мелочь

Цитата
И в результате возвращаются двойные строки

"UNION ALL" и пересечение дат дали вполне предсказуемый результат.

P.S. Я не спец. по SQL, могу и ошибаться...

Сообщение отредактировал ilyabvt - 12.11.2011, 22:05
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.4.2025, 20:36