sql >> Database >  >> RDS >> Mysql

Hoe gebruik ik een IF-statement in een MySQL-joinquery?

Specificeer de voorwaarde als onderdeel van de ON-clausule:

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

Een andere manier om hetzelfde te doen:

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


  1. Controleer of de kolom bestaat in de MySQL-tabel via PHP

  2. Ontbrekend artefact com.microsoft.sqlserver:sqljdbc4:jar:4.0

  3. Wanneer moet ik een samengestelde index gebruiken?

  4. mysql vreemde sleutel fout #1452