У меня есть два столбца в таблице trades
, которые ссылаются на столбец auto_id
в другой таблице customers
.
Я хочу отобразить имя клиента customers.customer_name
, соответствующее каждому auto_id
в этой таблице, для обоих столбцов.
В табличных сделках customer1_id
и customer2_id
являются внешними ключами, относящимися к одному и тому же первичному ключу в таблице customers
, а именно auto_id
.
Пример:
таблица customers
:
| auto_id | customer_name |
| 150 | jake |
| 159 | homer |
стол trades
:
| customer1_id | customer2_id | status |
| 150 | 159 | traded |
| 150 | 160 | null |
| 152 | 240 | traded |
Ожидаемый результат (при выборе или просмотре):
| customer1_id | customer2_id | status |
| jake | homer | traded |
Чего я на самом деле пытаюсь достичь: отобразить все сделки, в которых Джейк торговал с customer2_id
, и отобразить реальное имя customer2 в результате (не auto_id
, если это возможно, но, по крайней мере, его реальное имя).
Мне удалось отобразить только один столбец customerX_id
с объединением (не заменяя идентификатор, а добавив его справа в окончательном выводе), но я не могу найти способ получить оба.
select p.customer1_id, p.customer2_id, b.auto_id, b.customer_name
from trades as p
inner join customers as b on b.auto_id = p.customer1_id;
Что дает
| customer1_id | customer2_id | status | auto_id | customer_name |
| 150 | 159 | traded | 150 | jake |
Мне просто нужно, чтобы Гомер где-то отображался.