В запросе 3 одинаковых столбца, но для каждого необходимо разное условие - MySQL
Формулировка задачи:
У меня есть таблица team(id, name), вторая таблица event(id, team1id, team2id, team3id). Я хочу составить запрос что то вроде
select (team.name as name1, team.name as name2, team.name as name3) from team, event where name1 = event.teamid1 and name2 = event.team2id and name3 = event.team3id;
Собственно вопрос как это сделать. У меня в запросе 3 одинаковых столбца, но для каждого разное условие.
Решение задачи: «В запросе 3 одинаковых столбца, но для каждого необходимо разное условие»
textual
Листинг программы
SELECT e.id, t1.name, t2.name FROM event e join team t1 ON e.id_team1 = t1.id join team t2 ON e.id_team2 = t2.id
Объяснение кода листинга программы
В представленном коде выполняется запрос к базе данных, который выбирает из таблицы event столбцы id, name и name (одинаковый столбец, но с разными условиями). Для этого происходит объединение таблиц event с таблицами team по соответствующим столбцам.
- SELECT e.id, t1.name, t2.name - выбираются указанные столбцы
- FROM event e - указывается таблица, из которой выбираются данные
- JOIN team t1 ON e.id_team1 = t1.id - происходит объединение таблиц
eventиteamпо соответствующим столбцам - JOIN team t2 ON e.id_team2 = t2.id - происходит объединение таблиц
eventиteamпо соответствующим столбцам Таким образом, результатом выполнения данного запроса будет выборка данных из таблицыevent, в которой будут указаны значения столбцовid,nameиnameдля соответствующих записей, удовлетворяющих условиям объединения таблиц.