Jump to content

Or Where Abfrage - Problem


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo liebe Community,

 

bei einer SQL-Abfrage komme ich nicht weiter.

 

Was soll passieren?

Über ein Multiselect Feld kann ein Benutzer unterschiedliche Marken auswählen, für alle ausgewählten Marken sollen dem Benutzer die Produkte angezeigt werden.

 

Technischer Background

Wenn der Benutzer nur eine Marke auswählt, setze ich per PHP dynamisch eine einfache WHERE marke = '[markenname]',

wählt der Benutzer mehere Marken aus, erhält die erste Marke eine WHERE marke = '[markenname]' und alle weiteren Marken dann eine orWhere marke = '[markenname]'.

 

Das ganze sieht dann gekürzt in etwa so aus:

 

SELECT DISTINCT * FROM "Artikel" WHERE (art1.Hauptgruppe IN (0, '2')) AND (kum.Marke = 'Hublot') OR (kum.Marke = ' Ferrari') OR (kum.Marke = ' Breitling') OR (kum.Marke = ' Lange & Söhne') OR (kum.Marke = ' Patek Philippe') ...

 

Das Problem

Angezeigt werden nur Artikel der ersten Marke, alle anderen Marken werden nicht angezeigt.

 

Weiß jemand warum und hat hierzu eine Lösung?

 

Vielen Dank für jeden hilfreichen Tipp!

Link zu diesem Kommentar

Moin,

 

ich denke, die Klammern müssen eher andersrum.

 

Also, die Logik soll sein: Hauptgruppe soll die Werte 0 oder 2 haben und zusätzlich soll das Feld Marke einen der Werte aus der Auswahl haben?

 

Dann müssten die Klammern eher so stehen:

WHERE (art1.Hauptgruppe IN (0, '2')) AND ((kum.Marke = 'Hublot') OR (kum.Marke = ' Ferrari') OR (kum.Marke = ' Breitling') OR (kum.Marke = ' Lange & Söhne') OR (kum.Marke = ' Patek Philippe'))

Dass vor den Werten ab "Ferrari" jeweils ein Leerzeichen steht, ist Absicht?

 

Gruß, Nils

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...