Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема использования 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
?


Наверх

Титульная страница Поиск, карта сайта Написать письмо