MySQL Where Sub-Select ?

  • Nabend,

    ich habe gerade ein Problem bei der Formulierung eines
    SQL-Statements. Ich bin nicht der größte Freak mit SQL
    und mache sonst keine wilden Join/Sub-Select Statements.

    Nun habe ich aber folgendes Problem:

    Ich habe die Tabellen

    "Products" und "Attributes"

    Nun habe ich eine Suche in der man nach bestimmten Längen Filtern lassen kann. Die Längen sind die Attribute.

    In der Attributes Tabelle gibt es die Felder
    ID, Products_ID, Length

    Die Products_ID ist sozusagen der Fremdschlüssel für das Produkt der Products Tabelle.

    Nun weiß ich nicht wie ich das Statement definieren kann.

    z.B. Wenn alle Produkte mit der Category 1 (in Products gespeichert) und einer länge zwischen X und Y ausgewählt werden sollen.

    SQL
    SELECT * FROM products WHERE category = 1 ...

    Und jetzt weiß ich nicht wie ich weiter vorgehen muss damit ich ein between auf die length Spalte der attributes Tabelle anwenden kann.

    Ist sowas überhaupt möglich?

    Vielen Dank!

  • SQL
    SELECT 
    	feld1, feld2, ..., feldX 
    FROM 
    	products p,attributes a 
    WHERE 
    	p.category = 1
    	AND
    	p.id = a.product_id
    	AND
    	a.length BETWEEN x AND y


    So sollte das hinhauen.