![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос [IB6.x]
mva © (2004-12-29 13:53:00)Помогите изменить запрос.
Есть две таблицы: 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='ЧИСЛО'
Получается выборка ВСЕХ количеств этого номера товара после данной даты, а нужна сумма.Что неправильно?
Спасибо.
mva (2004-12-29 14:10:00) [1]Спасибо за оперативность и "путность"
msguns (2004-12-29 14:01:00) [2]Во блин, а я да Having даже и не дошел. А нафиг он здесь нужен ?
msguns (2004-12-29 13:59:00) [3]Ты ж на первое место поставил вторичную таблицу, а не главную - вот она тебе и шандарахтит все ее ключи (ID) - и правильно делает, гадина !
Почитай об INNER либо используй вместо него WHERE (я так понимаю, что в подчиненной нет мастер-ключей, отсутствующих в главной, тогда Join надо заменить на where)
Johnmen (2004-12-29 13:58:00) [4]HAVING неуместен, д.б. WHERE
В группировке поменять порядок.
Что за сумма имеется в виду?
Соловьев (2004-12-29 13:57:00) [5]Select SUM(SECOND.KOLVO) from FIRST INNER JOIN SECOND
on FIRST.ID = SECOND.ID
where (FIRST.DAT > 'ДАТА1') and SECOND.ID_TOV='ЧИСЛО'