Wählen Sie aus, wo nicht in - außer
-
23-12-2019 - |
Frage
Ich habe zwei verwandte Tabellen. Einer der Tabellen enthält jeden Eintrag für die Fotos und der andere enthält alle Katzeneinträge für jedes Foto- und Benutzerinfo.
generasacodicetagpre.Fotos
generasacodicetagpre.Katzen
generasacodicetagpre.Jedes Foto kann für jeden Benutzer mehr Kategorien zugewiesen werden
was ich möchte, ist, alle Fotos für den Benutzer 40000 auszuwählen, die nicht in 'P'-Katze enthalten sind, auch wenn sie möglicherweise in 'A' oder 'B' Cat enthalten sind.
Weil photo2.jpg in P Katze enthalten ist, sollte nicht in den Suchergebnissen angezeigt werden. Meine Abfrage für den Benutzer 40000 sollte folgende Ergebnisse ergeben:
generasacodicetagpre.Lösung
sollte ein einfacher linker / null-test sein
generasacodicetagpre.Grundsätzlich lässt sich der linke Join weiterhin, dass alle Fotos qualifiziert sind.Wenn der Join jedoch speziell in der Kategorien-Tabelle mit demselben Foto und der Kategorie= 'P' existiert, ist es jedoch einen Wert für das "cphoto".In der Where-Klausel habe ich hinzugefügt, um nur diejenigen hinzuzufügen, die nicht (via null) in der Katzentabelle existieren.
Andere Tipps