turntab 0 Posted August 5, 2014 Report Posted August 5, 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!
zahni 588 Posted August 5, 2014 Report Posted August 5, 2014 Probiere es mal mit ((art1.Hauptgruppe IN (0, '2')) AND (kum.Marke = 'Hublot')) OR ....
NilsK 3,061 Posted August 5, 2014 Report Posted August 5, 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
turntab 0 Posted August 5, 2014 Author Report Posted August 5, 2014 HAHAHA, die Leerzeichen waren es ... Vielen Dank Nils für den dezenten Hinweis. Nun funktioniert es. Really Happy!
NilsK 3,061 Posted August 5, 2014 Report Posted August 5, 2014 Moin, prima. :) Danke für die Rückmeldung. Gruß, Nils
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now