![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про запрос
Сергей Ю. © (2004-12-16 09:24:00)Делаю так: select pos.idnom,sum(pos.kolvo) from pos,nom where pos.idnom=nom.idnom group by pos.idnom
Все работает но мне надо чтоб вместо идентификатора pos.idnom подставлялось значение из другой таблицы.
Пробую так: select nom.name,pos.idnom,sum(pos.kolvo) from pos,nom where pos.idnom=nom.idnom group by pos.idnom
Дык говорит что nom.name тут "не к месту"
Сергей Ю. (2004-12-16 13:33:00) [1]Спасибо DenK_vrtz. То что нужно.
Val (2004-12-16 11:37:00) [2]А если соотв.имени нет? Потеряем строки.
Я думаю, это должно быть внешним объединением.
asp (2004-12-16 09:48:00) [3]Если это, вдруг, BD2, то можно не делать еще группировку по наименованию.
WITH Q1(IDNOM, KOL_SUM) AS
(SELECT P.IDNOM, SUM(P.KOLVO)
FROM POS P
GROUP BY P.IDNOM)
SELECT NOM.NAME, Q1.IDNOM, Q1.KOL_SUM
FROM NOM
INNER JOIN Q1 ON (Q1.IDNOM = NOM.IDNOM)
Александр Иванов (2004-12-16 09:35:00) [4]Логично, группировать надо по всем полям, выбираемым в запросе
DenK_vrtz (2004-12-16 09:33:00) [5]select nom.name,sum(pos.kolvo) from pos,nom where pos.idnom=nom.idnom group by nom.name
либо
select nom.name,pos.idnom,sum(pos.kolvo) from pos,nom where pos.idnom=nom.idnom group by nom.name,pos.idnom
а вообще не очень понятно, что должно быть результатом запроса, если не считать sum(pos.kolvo)
asp (2004-12-16 09:26:00) [6]СУБД?