У меня есть таблица user
и таблица complaint
., соединяющий одну и ту же таблицу дважды на разных колонках
Таблица complaint
имеет следующую структуру:
[opened_by] [complaint_text] [closed_by]
(user_id) (text) (user_id)
(user_id) (text) (user_id)
(user_id) (text) (user_id)
Все пользователи, как в жалобщиков и жалобы-арбитры расположены в таблице user
.
Как написать запрос, чтобы показать имя пользователя для обоих столбцов?
Это дает мне одно:
SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by
, но я не знаю, как писать так как _by
колонки показывают имена пользователей, а не идентификаторы.
Я предпочитаю это подзапросам, где это возможно, легко читаемым и эффективным. –
Не будет ли это декартово произведение «жалобы» x 'A' x' B'? – NeverEndingQueue
@NeverEndingQueue - нет, это не произойдет, потому что у каждого из JOINs есть условие – potatopeelings