Willkommen in der Webstatt Zum Webstatt Blog und Stories
Franky Franky am 13.02.08 22: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..: [FONT=courier new]WHERE galerien.name = counter.galerie[/FONT].

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: [FONT=courier new]&& datum = NOW()[/FONT].

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 [FONT=courier new]COUNT()[/FONT] machen.. allerdings müsste ich dann ja immer eine zusätzliche Query aufmachen.. nene.. das geht doch sicher einfacher ;-)

Vielen dank für eure Antworten schonmal..

Franky :-)

netcup.de Warum gibt es hier Werbung?
Snake am 14.02.08 09: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)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt