Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Запрос   Найти похожие ветки 

 
mva   (2004-12-29 13:53) [0]

Помогите изменить запрос.
Есть две таблицы: FIRST(ID,DAT)-номер заказа, дата заказа
SECOND(ID,ID_TOV,KOLVO) -Номер заказа, номер товара, количество.
Пишу запрос на суммирование всего количества одного вида товара
после даты ДАТА1.

Select  SUM(SECOND.KOLVO) from FIRST INNER JOIN SECOND
on FIRST.ID = SECOND.ID
Group by FIRST.DAT,SECOND.ID
HAVING (FIRST.DAT > "ДАТА1") and  SECOND.ID_TOV="ЧИСЛО"
Получается  выборка ВСЕХ количеств этого номера товара после данной даты, а нужна сумма.Что неправильно?
Спасибо.


 
Соловьев ©   (2004-12-29 13:57) [1]

Select  SUM(SECOND.KOLVO) from FIRST INNER JOIN SECOND
on FIRST.ID = SECOND.ID
where (FIRST.DAT > "ДАТА1") and  SECOND.ID_TOV="ЧИСЛО"


 
Johnmen ©   (2004-12-29 13:58) [2]

HAVING неуместен, д.б. WHERE
В группировке поменять порядок.
Что за сумма имеется в виду?


 
msguns ©   (2004-12-29 13:59) [3]

Ты ж на первое место поставил вторичную таблицу, а не главную - вот она тебе и шандарахтит все ее ключи (ID) - и правильно делает, гадина !
Почитай об INNER либо используй вместо него WHERE (я так понимаю, что в подчиненной нет мастер-ключей, отсутствующих в главной, тогда Join надо заменить на where)


 
msguns ©   (2004-12-29 14:01) [4]

Во блин, а я да Having даже и не дошел. А нафиг он здесь нужен ?


 
mva   (2004-12-29 14:10) [5]

Спасибо за оперативность и "путность"



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1104298388
КаПиБаРа
2004-12-29 08:33
2005.01.30
Оптимизация запроса


1-1106045945
ShimON
2005-01-18 13:59
2005.01.30
Шифрование паролей


1-1105787946
Ilya___
2005-01-15 14:19
2005.01.30
ошибка: Invalid variant operation


14-1105379317
Progh
2005-01-10 20:48
2005.01.30
Прога для сетевого контроля моего компьютера


6-1100034718
able
2004-11-10 00:11
2005.01.30
TServerSocket число соединений