SQL - пользовательский выбор представления после объединения нескольких таблиц - PullRequest
0 голосов
/ 02 ноября 2018

Очень простой вопрос, и я просто не могу понять его.

У меня есть две таблицы ниже. Я хотел бы написать запрос выбора, который возвращает следующее

| UID  | NAME    | DESCRIPTION | CC_CONFIG_UID |
├------+---------+-------------+---------------┤
| xxx  | HELLO_1 | NULL        | abc           |
| yyy  | WORLD_1 | NULL        | hij           |
| aaa  | NULL    | HELLO_2     | efg           |
| bbb  | NULL    | WORLD_2     | klm           |

Таблица A:

| UID  | NAME    | CC_CONFIG_UID |
|------+---------+---------------|
| xxx  | HELLO_1 | abc           |
| yyy  | WORLD_1 | hij           |

Таблица B:

| UID  | DESCRIPTION | CC_CONFIG_UID |
|------+-------------+---------------|
| aaa  | HELLO_2     | efg           |
| bbb  | WORLD_2     | klm           |

Я пытался

(SELECT * FROM A) UNION (SELECT * FROM B)

Но я получаю в ответ следующее, что близко, но не то, что мне нужно:

| UID  | NAME    | CC_CONFIG_UID |  
├------+---------+---------------┤
| xxx  |HELLO_1  |  abc          |
| aaa  |HELLO_2  |  def          |
| yyy  |WORLD_1  |  hig          |
| bbb  |WORLD_2  |  klm          |

1 Ответ

0 голосов
/ 02 ноября 2018

Вам необходимо указать столбцы. В ваших таблицах три столбца, но вы хотите, чтобы в результирующем наборе было четыре столбца:

select a.uid, a.name, null as description, a.cc_config_uid
from a
union all
select b.uid, null as name, bdescription, b.cc_config_uid
from b;
...