Вы можете использовать подзапрос в SELECT
, чтобы получить это значение.
Этот suq-запрос может быть сохранен в переменной, если вы не возражаете выполнить его снова и снова и перекрестно соединить его.
Схема (PostgreSQL v10.0)
CREATE TABLE test (
"col 1" INTEGER,
"col 2" VARCHAR(3),
"col 3" INTEGER
);
INSERT INTO test
("col 1", "col 2", "col 3")
VALUES
('67458', 'ADM', '1008'),
('67458', 'ADM', '1009'),
('67458', 'SKI', '1009'),
('67458', 'LIS', '1010'),
('67458', 'TOU', '1121');
Запрос № 1
SELECT MAX("col 3") AS "col 4" INTO col4 FROM test t2 WHERE t2."col 2" = 'ADM';
Нет результатов для отображения.
Запрос № 2
SELECT "col 1",
"col 2",
"col 3",
"col 4"
FROM test
CROSS JOIN
col4;
выход
| col 1 | col 2 | col 3 | col 4 |
| ----- | ----- | ----- | ----- |
| 67458 | ADM | 1008 | 1009 |
| 67458 | ADM | 1009 | 1009 |
| 67458 | SKI | 1009 | 1009 |
| 67458 | LIS | 1010 | 1009 |
| 67458 | TOU | 1121 | 1009 |
Просмотр на БД Fiddle