Also sagen, ich habe eine Tabelle namens orders
mit einer Spalte zip_code
und eine Tabelle mit dem Namen provinces
. provinces
hat die Felder name
, starting_zip
und ending_zip
(um anzuzeigen, dass alle Postleitzahlen zwischen Start- und End-Zip für diese Provinz gelten).Auswählen aus einer Unterabfrage in eine Spalte
Ich muss Tausende Bestellungen auswählen und den Namen der Provinz angeben, an die sie versendet werden sollen. Ich habe so etwas wie dies versucht:
SELECT orders.*, p.name
FROM orders, (SELECT name FROM provinces
WHERE order.zip_code >= provinces.starting_zip
AND order.zip_code <= provinces.ending_zip LIMIT 1) p
WHERE...
ich auch versucht:
SELECT orders.*, p.name
FROM orders
JOIN (SELECT name FROM provinces
WHERE order.zip_code >= provinces.starting_zip
AND order.zip_code <= provinces.ending_zip LIMIT 1) p
WHERE...
auch:
SELECT orders.*, (SELECT name FROM provinces
WHERE order.zip_code >= provinces.starting_zip
AND order.zip_code <= provinces.ending_zip LIMIT 1) as name
FROM orders
WHERE...
Egal, was ich aber tun, ich einen Fehler wie:
"Unknown column 'order.zip_code' in 'where clause'
Es macht Sinn, dass die Subselect würde nicht Habe keinen Zugriff auf Informationen von der Hauptauswahl, aber eine Idee, wie ich das zum Funktionieren bringen könnte?
Beachten Sie, dass ohne ORDER LIMIT BY ist ziemlich bedeutungslos. – Strawberry
Siehe http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-very-simple-sql- Abfrage – Strawberry
danke, @renis. nur ein Tippfehler in meiner Frage, aber mein Problem war tatsächlich ein anderer Tippfehler in meiner echten Frage. – Chris