powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с запросом
3 сообщений из 3, страница 1 из 1
помогите с запросом
    #38765487
neznayka33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
drop table if exists a;
create table a(
a_date date,
a_sum numeric(16,2)
);

drop table if exists b;
create table b(
b_date date,
b_sum numeric(16,2)
);
insert into a values
('2014-10-01', 20),
('2014-10-01', 30),
('2014-10-02', 40);

insert into b values
('2014-10-01', 50),
('2014-10-02', 60),
('2014-10-03', 70);


можно запросом получить такой результат?
date sum date2 sum2"2014-10-01"20.00"2014-10-01"50.00"2014-10-01"30.00"2014-10-02"40.00"2014-10-02"60.00"2014-10-03"70.00
...
Рейтинг: 0 / 0
помогите с запросом
    #38765506
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznayka33,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
WITH a(a_date,a_sum) AS (
    VALUES (DATE '2014-10-01', NUMERIC '20'), ('2014-10-01', 30), ('2014-10-02', 40)
), b(b_date,b_sum) AS (
    VALUES (DATE '2014-10-01', NUMERIC '50'), ('2014-10-02', 60), ('2014-10-03', 70)
)
SELECT a.a_date,a.a_sum,b.b_date,b.b_sum
  FROM (
    SELECT a.*, row_number() OVER (PARTITION BY a_date ORDER BY a_sum) dt_id FROM a) a
  FULL JOIN (
    SELECT b.*, row_number() OVER (PARTITION BY b_date ORDER BY b_sum) dt_id FROM b) b
  ON a.a_date=b.b_date AND a.dt_id=b.dt_id;
...
Рейтинг: 0 / 0
помогите с запросом
    #38765565
вангую
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вангую:
vyegorovneznayka33,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
WITH a(a_date,a_sum) AS (
    VALUES (DATE '2014-10-01', NUMERIC '20'), ('2014-10-01', 30), ('2014-10-02', 40)
), b(b_date,b_sum) AS (
    VALUES (DATE '2014-10-01', NUMERIC '50'), ('2014-10-02', 60), ('2014-10-03', 70)
)
SELECT a.a_date,a.a_sum,b.b_date,b.b_sum
  FROM (
    SELECT a.*, row_number() OVER (PARTITION BY a_date ORDER BY a_sum) dt_id FROM a) a
  FULL JOIN (
    SELECT b.*, row_number() OVER (PARTITION BY b_date ORDER BY b_sum) dt_id FROM b) b
  ON a.a_date=b.b_date
        AND a.dt_id=1
        AND b.dt_id=1
;
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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