Дважды объединение одной и той же таблицы в разных столбцах для универсального получения информации о пользователях
Этот запрос предназначен для получения имен пользователей как для столбцов opens_by, так и для закрытых_by в таблице жалоб, где пользователи хранятся в таблице пользователей. Задача заключается в объединении пользовательской таблицы несколько раз с использованием разных столбцов.
Для выполнения этой задачи мы применяем операцию LEFT JOIN для каждого экземпляра пользовательской таблицы, для ясности назначая объединенным таблицам псевдонимы A и B. Запрос выполняется следующим образом:
SELECT complaint.complaint_text, A.username, B.username FROM complaint LEFT JOIN user A ON A.user_id=complaint.opened_by LEFT JOIN user B ON B.user_id=complaint.closed_by
В этом запросе мы начинаем с выбора столбца жалобы_текста из таблицы жалоб и имен пользователей из таблицы пользователей как для столбцов opens_by, так и для закрытых_by.
Затем мы соединяем таблицу жалоб с таблицей пользователей на основе столбца opens_by с помощью LEFT JOIN. Это позволяет нам сопоставить user_id из жалобы.opened_by с user_id в таблице пользователей и получить соответствующее имя пользователя. Мы присваиваем объединенной таблице псевдоним A.
Затем мы выполняем еще одну операцию LEFT JOIN между таблицей жалоб и таблицей пользователей на основе столбца close_by. Мы присваиваем этой объединенной таблице псевдоним B.
Результат этого запроса обеспечивает четкое представление сведений о жалобе, а также имена пользователей как заявителя, так и столбцы, по которым решено.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3