0nk3lT0m Geschrieben 19. Dezember 2007 Teilen Geschrieben 19. Dezember 2007 Hallo... Ich Programmiere gerade einen Kalender auf einer Weboberfläche mit Hilfe von PHP und benutze eine MYSQL-Datenbank. Momentan hänge ich an einer Abfrage, bei der ich mehrere Bedienungen habe. Diese Bedingungen sind sowohl mit AND als auch mit OR verknüpft. Das Problem ist, dass die Verknüpfungen mit AND in eine Klamme müssten, da entweder alle mit AND verknüpften Bedingungen oder die weiter mit OR verknüpfte Bedingung erfüllt sein soll. Mathematische würde man das irgendwie so ausdrücken: (B1 AND B2) OR B3 Hat jemand eine Ahnung, wie man das in einer MYSQL-Abfrage realisieren kann. Dank schonmal im Voraus für eure Antworten. Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
P3AC3MAK3R Geschrieben 19. Dezember 2007 Teilen Geschrieben 19. Dezember 2007 Mit einer Abfrage wie select * from [Tabelle] where ([B1] and [B2]) or [B3]; hast Du es schon versucht? Die Klammerung sollte übrigens eigentlich nicht notwendig sein, da and höherwertiger ist als or (zumindest unter Oracle). Es spricht allerdings nichts dagegen, eigentlich nicht erforderliche Klammern zu setzen, um die Lesbarkeit zu erhöhen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0nk3lT0m Geschrieben 19. Dezember 2007 Autor Teilen Geschrieben 19. Dezember 2007 Habe es mit den Klammern ausprobiert und es hat fast geklappt. Das Problem ist nur, dass er mir die Einträge jetzt zweimal anzeigt. Da muss ich nochmal gucken, was er da macht. Ich bin davon ausgegangen, dass man in MYSQL-Abfragen keine Klammern setzen kann, da ich das noch nie gesehen habe. Danke für die schnelle Antwort! Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 19. Dezember 2007 Teilen Geschrieben 19. Dezember 2007 doppelte resultierende datensätze kannst du mit DISTINCT eliminieren. allerdings würde ich dennoch vorher einmal prüfen, warum deine WHERE-klausel diese liefert. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0nk3lT0m Geschrieben 19. Dezember 2007 Autor Teilen Geschrieben 19. Dezember 2007 Das Problem lag daran, dass ich die OR-Bedingung an der falschen Stelle eingefügt habe. Dadurch hat er den Eintrag doppelt gefunden. Habe die Abfrage jetzt so wie ich sie brauche. Danke für eure Hilfe! Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.