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

Заявката LEFT OUTER JOIN не връща очакваните редове

Текущата ви заявка по същество извършва INNER JOIN поради consultant_id = 5 на WHERE клауза. Вярвам, че наистина искате да използвате:

SELECT * 
FROM   consultant_memberships m
LEFT OUTER JOIN consultant_memberships_list l
  ON m.`id` = l.membership_id 
  AND l.consultant_id = 5 
WHERE l.membership_id IS NULL;

Вижте SQL Fiddle с демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL САМО IN() еквивалентна клауза

  2. SQL:Къде между две дати без година?

  3. MySQL:Разделяне на голяма таблица на дялове или отделни таблици?

  4. MySql избира стойност по подразбиране, ако няма резултати?

  5. последния петък на месеца в MySQL