Webstatt.org - Community seit 2006 - 2012 (2024?)

Zwei Tabellen 'joinen', wenn nicht angegeben nichts ausgeben..

Avatar user-182
13.02.2008 21:51

Moin,

ich habe eine Tabelle 'Galerien' und eine 'Counter' die ich in einer Query mit einem einfachen 'WHERE' Befehl joine..

Problem ist aber: Die Tabelle ist wie folgt aufgebaut (einwenig gekürzt):

galerien
- Spalte name

counter
- Spalte galerie,
- Spalte datum (date-typ),
- Spalte count (int)

Ich joine die beiden ganz einfach, wie schon gesagt, über eine gemeinsame WHERE..: WHERE galerien.name = counter.galerie.

Soweit so gut.

In der Tabelle counter stehen nun veschiedene Zeilen für die verschiedenen Galerien und Tage. Möchte ich die Besucher einer Galerie des aktuellen Tages abfragen erweitere ich die WHERE in der Query um folgendes: && datum = NOW().

Wenn jetzt allerdings mal eine Galerie an einem Tag nicht besucht wird, wird auch kein Datensatz in der Tabelle counter erzeugt.
Somit funktioniert dann aber auch nichtmehr die Abfrage da ich ja UND benutzt habe.. gibts in MySQL irgendetwas wie 'isset' in PHP sodass die Zeile nur abgefragt wird falls ein jeweiliger Counterdatensatz gefunden wurde und ansonsten 0 zurückgegeben wird?
Ich könnte es mit COUNT() machen.. allerdings müsste ich dann ja immer eine zusätzliche Query aufmachen.. nene.. das geht doch sicher einfacher zwinkern

Vielen dank für eure Antworten schonmal..

Franky lächeln

Seid ihr auch schon wix'r? xD
user-303
14.02.2008 08:25

Was spricht gegen ein einfaches LEFT|RIGHT JOIN?

dann kannste alles von der Tabele 'Galerien' selecten und vom Counter erhältst du nur Werte, wenn der Join erfolgreich war. Ansonsten sind die Felder einfach Leer (oder evt. NULL)