У меня есть SQL-запрос, который оставил соединение по таблице разными способами в зависимости от условия.
SELECT m.id, u.first_name AS otherUser
FROM matches AS m
IF (u.id=m.user2ID)
LEFT JOIN users AS u ON u.id = m.user1ID
ELSE
LEFT JOIN users AS u ON u.id = m.user2ID
ENDIF
WHERE m.user1ID=2 OR m.user2ID=2
matches
- таблица с целыми столбцами user1ID и user2ID. users
- это таблица, содержащая пользователей моего веб-приложения. users
имеет поле VARCHAR под названием first_name
.
Цель этого запроса - получить имена пользователей, совпадающих с текущим пользователем.
Однако MySQL возвращает эту ошибку:
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for
the right syntax to use near 'IF (u.id=m.user2ID) LEFT JOIN users
AS u ON u.id = m.user1ID ELSE LEFT JOIN user' at line 3
Почему?