powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать функцию аналогичную запросу ?
2 сообщений из 2, страница 1 из 1
Как сделать функцию аналогичную запросу ?
    #32523526
Есть запрос :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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
Тоесть что то типа такого :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 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 
Заранее спасибо.
...
Рейтинг: 0 / 0
Как сделать функцию аналогичную запросу ?
    #32523606
jyj dfv yflj&
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вы можете написать это простым запросом, используя конструкцию
,CASE WHEN ... THEN ...[WHEN ... THEN ...] ELSE ...
пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT id,
       CASE WHEN id= 1  THEN 'one'
            WHEN id= 2  THEN 'two'
            ELSE 'other'
       END as case_id,
       name 
    FROM test;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать функцию аналогичную запросу ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]