所以說我有一個表orders
與列zip_code
和表provinces
表。 provinces
的字段爲name
,starting_zip
和ending_zip
(表示開始和結束zip之間的所有郵政編碼均與本省有關)。從子查詢中選擇列
我需要選擇成千上萬的訂單,幷包含它們要運送到的省份的名稱。我已經試過這樣的事情:
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...
我也試過:
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...
另外:
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...
無論我做什麼,雖然,我得到這樣一個錯誤:
"Unknown column 'order.zip_code' in 'where clause'
這是有道理的,子選擇wouldn沒有範圍可以從主選擇中獲取信息,但是有什麼想法可以讓這個工作起作用?
注意,限制無秩序BY是相當無意義的。 – Strawberry
請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢 – Strawberry
謝謝,@renis。在我的問題中只是一個錯字,但我的問題實際上是我真正的查詢中的一個不同的錯字。 – Chris