Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Stosunek do wielu i obejść się bez tego

W SQL ten typ zapytania wymaga tak zwanego EXCEPTION JOIN . Niektóre RDBMS faktycznie implementują to jako osobny typ (taki jak DB2), podczas gdy inne wymagają obejścia. W twoim przypadku wynosi (w SQL):

SELECT User.* 
FROM User
LEFT JOIN UserHouse
ON UserHouse.id_user = User.id
WHERE UserHouse.id_user IS NULL

Który przyniesie oczekiwane rekordy „nie w domu”.

Podobne przykłady można znaleźć w wielu miejscach na tej stronie.

Nigdy nie używałem Doctrine, więc nie mogę ci w tym pomóc. Ale moje najlepsze przypuszczenie byłoby takie:

addWhere('uh IS NULL')

lub

addWhere('uh.id_user IS NULL')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kącik bazy danych:Przewodnik dla początkujących po silnikach pamięci masowej Mysql

  2. Wywołanie funkcji składowej exec() w przypadku błędu nieobiektowego w PHP

  3. Zaawansowane sortowanie alfabetyczne MySQL z prefiksem?

  4. Nie można zalogować się do mysql 5.7.9 po zmianie hasła

  5. Jak mogę wykorzystać jeśli istnieje do tworzenia lub usuwania indeksu w MySQL?