SQL-запрос на объединение таблицы и печать ее столбца дважды в таблице результатов

#sql #postgresql

#sql #postgresql

Вопрос:

В моей базе данных есть две таблицы (A, B), и я пытаюсь объединить их и дважды напечатать один и тот же столбец таблицы B в таблице результатов. Проблема в том, что мне нужно привести в соответствие два разных столбца таблицы A, чтобы объединить эти таблицы также дважды. Я попытался объединить их и поместить в столбец select expression required два раза, но в этом случае таблица результатов показывает одно и то же отношение в каждом столбце. Вот результат, который я хочу, где id столбец таблицы B включает id_1 и id_2 из таблицы A, а выходные имена соответствуют идентификаторам из таблицы A.

Table A: (integer id_1, integer id_2)

Table B: (integer id, varchar name)

Result Table: (id_1, name, id_2, name)

Ответ №1:

Вам нужно inner join с tableB помощью twice следующим образом:

 select a.id_1, b1.name, a.id_2, b2.name
  from tableA a join tableB b1 on a.id_1 = b1.id
  join tableB b2 on a.id_2 = b2.id