powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / запрос с подзпросами, возможно ли по другому?
6 сообщений из 6, страница 1 из 1
запрос с подзпросами, возможно ли по другому?
    #37362152
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица
вид расхода;дата;сколько1;20.06.11;42;20.06.11;51;21.06.11;22;21.06.11;63;22.06.11;8;и т.д.;
нужно написать запрос, чтобы получилось следующее
вид расхода;c 1 по 10;c 11 по 20;c 20 по 301;32;45;642;23;43;433;23;12;65
У меня одна только идея один запрос с тремя подзапросами на каждый период.
У меня вопрос есть ли другие варианты?
...
Рейтинг: 0 / 0
запрос с подзпросами, возможно ли по другому?
    #37362154
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица
вид расходадатасколько120.06.114220.06.115121.06.112221.06.116322.06.118и т.д.;
нужно написать запрос, чтобы получилось следующее
вид расходаc 1 по 10c 11 по 20c 20 по 30132456422343433231265
У меня одна только идея один запрос с тремя подзапросами на каждый период.
У меня вопрос есть ли другие варианты?
...
Рейтинг: 0 / 0
запрос с подзпросами, возможно ли по другому?
    #37362246
Big Andy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81,

Да, есть вариант через group by и pivot table
...
Рейтинг: 0 / 0
запрос с подзпросами, возможно ли по другому?
    #37362300
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Big Andy,

а по подробней можалуйста, ни разу не слышал, очень интересно
...
Рейтинг: 0 / 0
запрос с подзпросами, возможно ли по другому?
    #37362335
Skiv-mag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то в этом роде. Условия в кейсах по желанию.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
with x (id, date, value)
as (
values( 1 ,'20.06.11'::date, 4 )
union all
values( 2 ,'20.06.11'::date, 5 )
union all
values( 1 ,'21.06.11'::date, 2 )
union all
values( 2 ,'21.06.11'::date, 6 )
union all
values( 3 ,'22.06.11'::date, 8 )
)

select 
	id, 
	sum(first_dates) as first_dates,
	sum(last_dates) as last_dates
from (
	select
		id,
		case
			when date='2011-06-20' or date='2011-06-21'
			then value
			else  0 
		end as first_dates
		,
		case 
			when date='2011-06-22'
			then value
			else  0 
		end as last_dates
	from x
) as _t
group by id
...
Рейтинг: 0 / 0
запрос с подзпросами, возможно ли по другому?
    #37362384
Big Andy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81Big Andy,

а по подробней можалуйста, ни разу не слышал, очень интересно


http://www.opennet.ru/base/dev/pivot_table.txt.html
либо contrib/crosstab, если вам его будет достаточно.

Кстати, поиск по форуму по ключевым словам pivot и crosstab даёт еще много других решений
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / запрос с подзпросами, возможно ли по другому?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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