turntab 0 Geschrieben 5. August 2014 Melden Teilen Geschrieben 5. August 2014 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! Zitieren Link zu diesem Kommentar
zahni 550 Geschrieben 5. August 2014 Melden Teilen Geschrieben 5. August 2014 Probiere es mal mit ((art1.Hauptgruppe IN (0, '2')) AND (kum.Marke = 'Hublot')) OR .... Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 5. August 2014 Melden Teilen Geschrieben 5. August 2014 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 1 Zitieren Link zu diesem Kommentar
turntab 0 Geschrieben 5. August 2014 Autor Melden Teilen Geschrieben 5. August 2014 HAHAHA, die Leerzeichen waren es ... Vielen Dank Nils für den dezenten Hinweis. Nun funktioniert es. Really Happy! Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 5. August 2014 Melden Teilen Geschrieben 5. August 2014 Moin, prima. :) Danke für die Rückmeldung. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.