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

mysql лявото присъединяване не връща целия ляв ред на таблицата

Във вашата заявка;

SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?

... WHERE клауза с условие в най-дясната таблица ще премахне всички редове, където най-дясната таблица няма стойност, отричайки LEFT JOIN .

Това, което най-вероятно искате, е да добавите условието към LEFT JOIN ON вместо това позволява празните стойности на phone все още да се показва;

SELECT *
FROM phonetype
LEFT JOIN phone
  ON phonetype.phonetypeID=phone.phonetypeID
 AND phone.peopleID = ?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на съдържанието на div в Jquery Mobile

  2. Показва стойността на една колона на mysqli заявката

  3. Грабване на данни от MySQL с помощта на PHP в реално време?

  4. Импортиране, експортиране на mysql база данни супербърз команден ред

  5. Как мога да използвам оператор "Проверка", за да проверя стойността на полето в mysql?