Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да използвам израз IF в заявка за присъединяване към MySQL?

Посочете условието като част от клаузата ON:

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

Друг начин да направите същото:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преброяване на свързани записи със Sequelize

  2. MySQL преобразува градус, минути, секунди в десетичен градус

  3. Все пак да се ограничи времето за изпълнение на MySQL заявка?

  4. MySQL Преди изтриване тригер, за да избегнете изтриване на множество редове

  5. SQL_NO_CACHE не работи