2012-03-29 5 views
0

Ich möchte parsed_param zu verschachtelt auswählen. So was .wie Wert zu verschachtelt auswerten in mysql

select name ,ord.sq,ord.sp ,sandwich_id as parsed_param 
from sandwiches , (select sum(quantity) as sq, sum(total_price) as sp 
        from order_sandwiches 
        where sandwich_code=parsed_param) as ord 

    order by parsed_param 
+0

So wollen u Ihre sandwich_id werden umbenennen, was immer parsed_param ist? Die Reihenfolge nach bleibt weiterhin sandwich_id, weil order by ist Spaltenbezeichner, nicht umbenannter Spaltenbezeichner. – Churk

+0

-i möchte die verschachtelte Auswahl mit "parsed_param" durchlaufen. Ich weiß nicht, ob es möglich ist, eine rekursive Iteration mit mysql zu machen. –

Antwort

2

Versuchen Sie, diese

SELECT sandwiches.name, 
    sandwiches.sandwich_id, 
    sum(order_sandwiches.quantity) as sq, 
    sum(order_sandwiches.total_price) as sp 
FROM sandwiches 
JOIN order_sandwiches ON order_sandwiches.sandwich_code = sandwiches.sandwich_id 
GROUP BY sandwiches.name, sandwiches.sandwich_id 
ORDER BY sandwiches.sandwich_id 
+0

- Fehler erhalten. FEHLER 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; Besuche das Handbuch, dass zu Ihrer MySQL-Server-Version für die richtige Syntax 'JOIN order_sandwiches ON order_sandwiches.sandwich_code = sandwiches.sandwich_id' bei Linie 5 –

+0

-Note 2 Tabelle Beschreibung verwendet nahe entspricht. Sandwich-Tabelle (sandwich_id, Name), order_sandwishes (Menge, total_price, sandwich_id) –

+0

Sorry vergessen, FROM Sandwiches zu enthalten, änderte ich die Antwort, um die Änderungen widerzuspiegeln – Churk