![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема использования SUM() в запросе. [D6, Paradox]
Leshiy © (2005-09-22 15:12:00)Есть запрос:
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.
Что нужно сделать чтобы в случае отсутствия "материалов", стоимость "работ" все-таки выводилась?
Leshiy (2005-09-22 15:47:00) [1]Курдль © (22.09.05 15:44) [6]
Тогда забей на парадокс и делай на Yaffil-е!
Поздно :)
Вопрос поднял из интереса.
Сама проблема решена см. [2],[3].
Курдль (2005-09-22 15:44:00) [2]Тогда забей на парадокс и делай на Yaffil-е!
Leshiy (2005-09-22 15:38:00) [3]Курдль © (22.09.05 15:31) [4]
А IsNull(M.Price, 0) не может помочь?
Похоже local sql это не поддерживает.
Курдль (2005-09-22 15:31:00) [4]А IsNull(M.Price, 0) не может помочь?
Leshiy (2005-09-22 15:29:00) [5]Sergey13 © (22.09.05 15:26) [2]
Сложишь на клиенте.
Пока так и делаю.
Sergey13 (2005-09-22 15:26:00) [6]
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
Так не пойдет? Сложишь на клиенте.
Курдль (2005-09-22 15:15:00) [7]А парадокс поддерживает конструкцию типа:
select field1, field2, (select sum(field4) from table2) as field3 from table1
?