Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MYSQL Datenbankabfrage

Empfohlene Antworten

Veröffentlicht

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ß

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.

  • Autor

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ß

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

  • Autor

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ß

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.