Jeg vil så gerne lave et sql kald der finder hvilken produkter som er både blå og gul. Hvordan gør jeg dette? Det skal gerne være ret fleksibelt, da der vil være mange forskellige attributter ud over farve, f.eks. størrelse.
Ville jo være let nok med én farve, men skal gerne kunne søge på flere.
Udgangspunktet er lige nu dette:
Select * from Produkt, Attribut where Attribut.Produkt = Produkt.Produktnummer and AttributId = 1
Not sure I agree on your table design so I'm going to use the
AttributNavn instead of AttributId.
SELECT Produkt.Produktnummer, Produkt.Produktnavn, Attribut.AttributId, Attribut.AttributNavn, Attribut.AttributNavn, Attribut_1.AttributNavn FROM (Produkt INNER JOIN Attribut ON Produkt.Produktnummer = Attribut.Produkt) INNER JOIN Attribut AS Attribut_1 ON Attribut.Produkt = Attribut_1.Produkt WHERE (((Attribut.AttributNavn)="Blå") AND ((Attribut_1.AttributNavn)="Gul"));
SELECT Produkt.Produktnummer, Produkt.Produktnavn FROM (Produkt INNER JOIN Attribut ON Produkt.Produktnummer = Attribut.Produkt) INNER JOIN Attribut AS Attribut_1 ON Attribut.Produkt = Attribut_1.Produkt WHERE (((Attribut.AttributNavn)="Blå") AND ((Attribut_1.AttributNavn)="Gul"));
SELECT * from Produkt WHERE Produktnummer IN (SELECT Attribut.Produkt FROM Attribut WHERE (((Attribut.AttributNavn) In ("Blå","Gul"))) GROUP BY Attribut.Produkt HAVING count(*) = 2)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.