ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
231
231
EMPFEHLEN
-
Hallo, ich will in meinem PHP Projekt die User einer Firma finden, die an einem bestimmten Tag KEINEN Termin gebucht haben. Das ganze sollte möglichst schon in der SQL Abfrage der DB stattfinden. Ich stehe z.Zt. wohl voll auf dem Schlauch. Ich bekomme immer die User angezeigt, die an dem Tag einen Termin gebucht haben. Ich will aber eben nicht diese sondern die verbleibenden als Ergebnis haben. Diese will ich per Email auf freie Termine aufmerksam machen.
Hier meine SQL abfrage bis jetzt:
Diese Abfrage gibt natürlich nur die Kunden aus die an diesem Tag gebucht haben. Aber wie frage ich nun die anderen ab.Code :1 2 3 4
SELECT `Email` FROM `Customer`, `Reservation` WHERE `Customer`.`CompanyID` = 3 AND `Reservation`.`Datum` = '2010-09-09' AND `Reservation`.`CustomerID` = `Customer`.`CustomerID`
Bin über jeden 'Wink mit dem Zaunpfahl' dankbar.
Gruß Heiko
P.S. Ich bastele gerade auch an `Reservation`.`Datum` != xxx
und SELECT DISTINCT Email from...
bekomme dabei aber noch immer nicht nur die User die an diesem einen Tag keinen Termin gebucht haben. Langsam bin ich am verzweifeln...Geändert von McMay (07.09.10 um 23:41 Uhr)
-
08.09.10 08:12 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 2.998
Wenn du schreibst:
Code sql:1
... Datum <> '2010-09-09' ...
oder auch
Code sql:1
... NOT Datum = '2010-09-09' ...
dann müsste es doch gehen?!Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Das dachte ich mir dann ja auch. Aber wenn ich
SQL Code:
oderCode :1
Datum != '2010-09-09'
schreibe, werden nur die User aussortiert, die noch nie einen Termin gebucht haben. Alle anderen hatten ja auch zu anderen Zeitpunkten mal einen Termin gebucht. Es muss also, denke ich, irgendwie mit einer Unterabfrage gearbeitet werden. Aber wie?Code :1
Datum <> '2010-09-09'
-
Mit einem Left Join
Code sql:1 2 3 4 5 6 7 8 9 10
SELECT Email FROM Customer AS C LEFT JOIN ( SELECT CustomerID FROM Reservation WHERE Reservation.Datum = '2010-09-09' ) AS R ON R.CustomerID = C.CustomerID WHERE R.CustomerID IS NULL;
---------------------------------------------------------------------------------------------------
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Super!
Herzlichen Dank, das war es.
Hab noch die CompanyID hinzugefügt, damit ich nur die User einer bestimmten Firma bekomme und damit hab ich es.
Ich werde mich mal mit den LEFT JOIN beschäftigen, hab das wohl noch nicht so kapiert.
-
Das Problem an deiner Lösung war das folgende.
Du verknüpfst beide Tabellen im WHERE. Damit werden von beiden Tabellen nur diejenigen Datensätze genommen, die in beiden Tabellen Einträge haben. Mit dem LEFT JOIN nimmst du von der ersten Tabelle alle Einträge und von der Zweiten nur die passenden Einträge. Mit der IS NULL-Abfraeg im WHERE such ich alle raus, die ebee keine passenden Einträge in der zweiten Tabelle besitzen.---------------------------------------------------------------------------------------------------
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
Haare spiegeln sich nicht und haben keinen Schatten...!?
Von muck im Forum Cinema 4DAntworten: 6Letzter Beitrag: 25.10.10, 00:14 -
mySQL. Alles EInträge auslesen die keinen Join Eintrag haben
Von notebook20000 im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 21.06.07, 11:46 -
Bild soll keinen Kasten haben...
Von Apollon05 im Forum Sonstige Grafik-ProgrammeAntworten: 6Letzter Beitrag: 03.04.07, 21:57 -
SQL-Abfrage: Mitglieder die keinen Beitrag bezahlt haben anzeigen lassen
Von aro69 im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 15.03.07, 09:42 -
Nächstgelegenen Termin aus Datenbankfeldern finden
Von preko im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 10.05.06, 10:27





Zitieren


Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen