Produkt mit ganz bestimmten Attributen auslesen?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Produkt mit ganz bestimmten Attributen auslesen?!

    Guten Tag,

    ich habe ein kleines Problem. Ich habe 3 Tabellen.

    1. Produkt
    2. Attribute
    3. Attributzuordnungen

    In Attributzuordnungen steht:
    produkt_id
    attribut_id
    wert

    Ich habe nun die ProduktID und beliebig viele AttributIDs, die ich bei der Suche einbeziehen kann.
    Am Ende soll also etwas möglich sein wie:
    Zeige mir alle Attribute an, deren Baujahr zwischen 1990 und 2010 ist und Gewicht zwischen 100kg bis 2000kg liegt.

    Derzeit sieht es bei mir wie folgt aus:
    Code:
    SELECT produkt.* 
    FROM produkt, attribute_mm 
    WHERE produkt.id=attribute_mm.prodid 
    AND 
    (
    		(
    			attribute_mm.att_id=69 
    			AND attribute_mm.value > "1950" 
    			AND attribute_mm.att_id=69 AND attribute_mm.value < "2020" 
    		) 
    		[B][COLOR="red"]AND[/COLOR][/B] 
    		(
    			attribute_mm.uid_foreign=198 
    			AND attribute_mm.value > "100" 
    			AND attribute_mm.value< "5000" 
    		) 
    )
    Auf diese Weise bekomme ich kein Ergebnis, obwohl es Produkte gibt, die da hinein fallen.
    Wenn ich das rot markierte AND durch ein OR ersetze, bekomme ich zwar ein Ergebnis, aber halt auch nur ein "halb richtiges", da er nun ein ENTWEDER ODER ausführt.

    Kann ich diese Abfrage überhaupt mit einem Statement abwickeln? Wenn ja: kann mir jemand einen Rat geben?

  • #2
    Gleiches Prinzip wie hier: http://www.php-resource.de/forum/sql...ner-query.html
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X