select 1 as a,4 as b, 5 as c;
select 1 as a,3 as b;
Результат отображает только `выберите 1 как a, 3 как b;
Как отобразить результат множественного выбора в PgAdmin III?`
select 1 as a,4 as b, 5 as c;
select 1 as a,3 as b;
Результат отображает только `выберите 1 как a, 3 как b;
Как отобразить результат множественного выбора в PgAdmin III?`
Один из способов обойти это ограничение - UNION ALL
.
Однако тип строки всех SELECTs
должен совпадать. Поэтому я добавил NULL
для отсутствующего столбца c
во втором запросе. Может быть любое значение, соответствующее типу данных:
SELECT 1 AS a, 4 AS b, 5 AS c FROM tbl_a
UNION ALL
SELECT 1 , 3 , NULL FROM tbl_b; -- aliases only needed in 1st SELECT
Возвращает один набор результатов.
Чтобы указать источник каждой строки, вы можете добавить столбец или слайд в строке между отдельными SELECT. Демонстрация обоих с помощью выражений VALUES:
SELECT * FROM (
VALUES
(1, 1, 14, 15)
,(1, 2, 17, 11)
) AS t(query, a, b, c)
UNION ALL VALUES (NULL::int, NULL::int, NULL::int, NULL::int) -- delimiter
UNION ALL (
VALUES
(2, 3, 24, NULL::int)
,(2, 4, 27, NULL::int)
);
Может потребоваться явное приведение типов. Я только добавил, что здесь абсолютно необходимо. -> Демоверсия SQLfiddle .