sql >> Databáze >  >> RDS >> PostgreSQL

Rails obsahuje dotaz s podmínkami, které nevrací všechny výsledky z levé tabulky

Pokud přidáte WHERE stav ve sloupcích vpravo tabulka za LEFT JOIN , vynutíte jej, aby se choval jako INNER JOIN .

Řešení

Vytáhněte výraz nahoru do podmínky k LEFT JOIN .
Podle manuálové stránky, kterou citoval sám sebe :

A:

Možná jste si tu větu špatně přečetli.

Toto měli byste dělat, co chcete:

Post.joins('LEFT OUTER JOIN images ON images.post_id = posts.id
                                  AND images.service_name = $$acme$$')

Nejsem žádný expert na Ruby, ale toto odvozuji z této příručky .
Nevím, jak uniknout jednoduchým uvozovkám, tak jsem místo toho přešel na dolarové kotace.




  1. Převod mysql na mysqli - jak získat objekt superglobálního připojení?

  2. Aktualizujte MySQL z CSV pomocí JAVA

  3. Jak upravit možnosti propojeného serveru pomocí T-SQL

  4. Schéma DB pro RBAC s více úrovněmi rolí