Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизВопрос про запрос Найти похожие ветки
← →
Сергей Ю. (2004-12-16 09:24) [0]Делаю так: 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 тут "не к месту"
← →
asp © (2004-12-16 09:26) [1]СУБД?
← →
DenK_vrtz © (2004-12-16 09:33) [2]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)
← →
Александр Иванов © (2004-12-16 09:35) [3]Логично, группировать надо по всем полям, выбираемым в запросе
← →
asp © (2004-12-16 09:48) [4]Если это, вдруг, 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)
← →
Val © (2004-12-16 11:37) [5]А если соотв.имени нет? Потеряем строки.
Я думаю, это должно быть внешним объединением.
← →
Сергей Ю. (2004-12-16 13:33) [6]Спасибо DenK_vrtz. То что нужно.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c