Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verwende ich eine IF-Anweisung in einer MySQL-Join-Abfrage?

Geben Sie die Bedingung als Teil der ON-Klausel an:

SELECT m.id, u.first_name AS otherUser
FROM matches AS m
LEFT JOIN users AS u ON (u.id=m.user2ID and u.id = m.user1ID) or (u.id<>m.user2ID and u.id = m.user2ID) 
WHERE m.user1ID=2 OR m.user2ID=2

Eine andere Möglichkeit, dasselbe zu tun:

SELECT m.id, u.first_name AS otherUser
FROM matches AS m
LEFT JOIN users AS u ON IF(u.id=m.user2ID,u.id = m.user1ID,u.id = m.user2ID) 
WHERE m.user1ID=2 OR m.user2ID=2