powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Свобдная таблица более, чем по одному полю
1 сообщений из 1, страница 1 из 1
Свобдная таблица более, чем по одному полю
    #39934681
java-newbie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.

Даны таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE TABLE metrics (
                         id INT,
                         line_id INT,
                         title TEXT
);
INSERT INTO metrics VALUES (1, 1, 'metric1'), (2, 2, 'metric2');

CREATE TABLE params (
                        id INT,
                        metric_id INT,
                        value1 INT,
                        value2 INT,
                        date TIMESTAMP
);
INSERT INTO params VALUES
(1, 1, 1, 2, '2020-01-01 00:00:00'),
(1, 2, 3, 4, '2020-01-01 00:00:00'),
(1, 1, 5, 6, '2020-01-01 01:00:00'),
(1, 2, 7, 8, '2020-01-01 01:00:00');



Необходимо сделать одну сводную таблицу по value1 и value2 с указанием line_id.
По одному из них сделать получается:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT *
FROM crosstab(
             'SELECT p.date, m.line_id, p.metric_id, p.value1  /* или p.value2 */
              FROM params p JOIN metrics m ON m.id=p.metric_id
              ORDER BY p.date,p.metric_id',
             'SELECT id FROM metrics ORDER BY id'
         ) AS (
                 date TIMESTAMP,
                 line_id INT,
                 param1 INT,
                 param2 INT
    );

date	                   | line_id | param1 |	param2
------------------------------------------------------
2020-01-01 00:00:00.000000 | 1     |	1     | 3
2020-01-01 01:00:00.000000 | 1     |	5     | 7



Как добавить столбцы value2? Чтобы получилось:
Код: sql
1.
2.
3.
4.
date	                   | line_id | param1 |	param2 | param3 | param4
------------------------------------------------------------------------
2020-01-01 00:00:00.000000 | 1     |	1     | 3      | 2      | 4
2020-01-01 01:00:00.000000 | 1     |	5     | 7      | 6      | 8
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Свобдная таблица более, чем по одному полю
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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