Как сделать функцию аналогичную запросу ?

Спрашивающий
Дата: 19.05.2004 11:38:08
Есть запрос :
select  startdate as date, sum(age(to_timestamp(enddate+endtime,'YYYY-MM-DD HH24:MI:SS'), 
to_timestamp(startdate+starttime,'YYYY-MM-DD HH24:MI:SS'))) as duration  
from calls where  startdate>='2004-05-01' and startdate<='2004-05-09'  group by 1 

Он выводит примерно такие данные :
 date             duration
2004-05-01 | 00:57:33
2004-05-02 | 01:43:41
2004-05-05 | 00:51:18
2004-05-07 | 02:31:41
2004-05-08 | 01:54:55
2004-05-09 | 00:41:29
Вот в чём вопрос : как написать функцию, которая будет выводить данные в таком же виде и если дата отсутствует (даты беруться с начала месяца), то выводило бы эту дату и duration - 00:00:00
Тоесть что то типа такого :
 date             duration
2004-05-01 | 00:57:33
2004-05-02 | 01:43:41
2004-05-03 | 00:00:00
2004-05-04 | 00:00:00
2004-05-05 | 00:51:18
2004-05-05 | 00:00:00
2004-05-07 | 02:31:41
2004-05-08 | 01:54:55
2004-05-09 | 00:41:29
Заранее спасибо.
jyj dfv yflj&
Дата: 19.05.2004 12:04:17
вы можете написать это простым запросом, используя конструкцию
,CASE WHEN ... THEN ...[WHEN ... THEN ...] ELSE ...
пример:
SELECT id,
       CASE WHEN id=1 THEN 'one'
            WHEN id=2 THEN 'two'
            ELSE 'other'
       END as case_id,
       name 
    FROM test;