所以说我有一个名为Activity context
的表格,其中包含orders
列和一个名为zip_code
的表格。 provinces
包含字段provinces
,name
和starting_zip
(表示开始和结束zip之间的所有邮政编码都属于此省)。
我需要选择数千个订单并包含他们要运送到的省份的名称。我尝试过这样的事情:
ending_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...
有意义的是,subselect不具备从主选择访问信息的范围,但是我知道如何让它工作?
答案 0 :(得分:0)
为什么不这样做?
Loads variables from a YAML/JSON files dynamically from within a file or from a directory recursively during task runtime.
我真的不明白为什么这应该在SELECT orders.*,
(
SELECT name
FROM provinces
WHERE orders.zip_code >= provinces.starting_zip
AND orders.zip_code <= provinces.ending_zip
LIMIT 1
) as name
FROM orders
WHERE...
声明中。无论如何,您只需选择名称列
<强>更新强>
您是否看到我在子查询中更改了表名? FROM
语句如下所示:
FROM
但是FROM orders
子句看起来像这样:
WHERE
我在查询中将其更改为:
WHERE order.zip_code >= provinces.starting_zip
AND order.zip_code <= provinces.ending_zip