1
select 1 as a,4 as b, 5 as c;
select 1 as a,3 as b;

Результат отображает только `выберите 1 как a, 3 как b;

Как отобразить результат множественного выбора в PgAdmin III?`

1 ответ1

2

Один из способов обойти это ограничение - 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .