Как объединить две таблицы и создать новый столбец? - PullRequest
0 голосов
/ 03 сентября 2018

Использование PostgreSQL 10.4.

Я пытаюсь объединить две таблицы и создать новое поле Array, в котором будет храниться результат какого-либо запроса.

Таблица A:

- id
- image
- difficulty
- answers (this is the new array field to create)

Таблица B:

- id (foreign key that references table a's id)
- name

Я хотел бы поместить поля 'name' в таблице B соответствующего идентификатора массива ответов таблицы A. Как я могу выполнить это / и с каким запросом?

изменить: я знаю, как сделать JOIN. Я спрашиваю, как можно создать новый столбец, который будет содержать массив значений при выполнении JOIN?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Если я правильно понимаю, вам нужно либо стандартное (AKA внутреннее) соединение который будет показывать только записи с идентификатором в таблице a и в таблице b

SELECT a.id,
       a.image,
       a.difficulty,
       a.answers,
       b.name
FROM   a
       JOIN b
           ON a.id - b.id

или, в качестве альтернативы, левое соединение, которое покажет все записи в a и те в b, которые не имеют совпадающего значения id, будет нулевым

 SELECT a.id,
        a.image,
        a.difficulty,
        a.answers,
        b.name
  FROM  a
        LEFT JOIN b
            ON a.id - b.id

Трудно сказать, какой вам нужен из представленной информации, но я думаю, что это то, что вы хотите

0 голосов
/ 03 сентября 2018

Select * from A, B where A.id = B.id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...