Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизПроблема использования SUM() в запросе. Найти похожие ветки
← →
Leshiy © (2005-09-22 15:12) [0]Есть запрос:
select W.Description,W.Price+sum(M.Price) from Works W
left join Materials M on M.Work_id=W.id
where W.AktVr_id=1
group by M.Work_id,W.Description
Таблицы: Works (Работы) и Materials (Материалы, связана с таблицей Works полем Work_id)
Нужно для каждой работы посчитать ее стоимость и стоимость всех материалов.
Все работает, но только если у "работы" есть "материалы", если же их нет - то получаем в стоимости null, хотя должны получить только стоимость "работы".
Почему это происходит - понятно, так как Sum в данном случае возвращает null.
Что нужно сделать чтобы в случае отсутствия "материалов", стоимость "работ" все-таки выводилась?
← →
Курдль © (2005-09-22 15:15) [1]А парадокс поддерживает конструкцию типа:
select field1, field2, (select sum(field4) from table2) as field3 from table1
?
← →
Sergey13 © (2005-09-22 15:26) [2]
select W.Description,W.Price,sum(M.Price) from Works W
left join Materials M on M.Work_id=W.id
where W.AktVr_id=1
group by M.Work_id,W.Description,W.Price
Так не пойдет? Сложишь на клиенте.
← →
Leshiy © (2005-09-22 15:29) [3]Sergey13 © (22.09.05 15:26) [2]
Сложишь на клиенте.
Пока так и делаю.
← →
Курдль © (2005-09-22 15:31) [4]А IsNull(M.Price, 0) не может помочь?
← →
Leshiy © (2005-09-22 15:38) [5]Курдль © (22.09.05 15:31) [4]
А IsNull(M.Price, 0) не может помочь?
Похоже local sql это не поддерживает.
← →
Курдль © (2005-09-22 15:44) [6]Тогда забей на парадокс и делай на Yaffil-е!
← →
Leshiy © (2005-09-22 15:47) [7]Курдль © (22.09.05 15:44) [6]
Тогда забей на парадокс и делай на Yaffil-е!
Поздно :)
Вопрос поднял из интереса.
Сама проблема решена см. [2],[3].
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c