我不知道为什么 SQL 无法识别
FROM
语句中的表名。它返回一个语法错误,指出预期字符串文字“peak-bit-402819.warehouse_orders.Orders”位于 [7:10] 我尝试在 FROM 语句中添加双引号,但无济于事。编辑:我添加了我使用的两个表中的详细信息图片。我还尝试使用详细的表名称并得到相同的“未在美国找到”错误。请看图片。
SELECT
Warehouse.warehouse_id,
CONCAT(Warehouse.state, ":", Warehouse.warehouse_alias) AS warehouse_name,
COUNT(Orders.order_id) AS number_of_orders,
(SELECT COUNT(*)
FROM 'peak-bit-402819.warehouse_orders.Orders' Orders) AS total_orders,
CASE
WHEN COUNT(Orders.order_id)/(SELECT COUNT(*) FROM warehouse_orders.Orders Orders) <= 0.20
THEN "fulfilled 0-20% of Orders"
WHEN COUNT(Orders.order_id)/(SELECT COUNT(*) FROM warehouse_orders.Orders Orders) > 0.20
AND COUNT(Orders.order_id)/(SELECT COUNT(*) FROM warehouse_orders.Orders Orders) <= 0.60
THEN "Fulfilled 21-60% of Orders"
ELSE "Fulfilled more than 60% of Orders"
END AS fulfillment_summary
FROM
'peak-bit-402819.warehouse_orders.Warehouse' Warehouse
LEFT JOIN
warehouse_orders.Orders Orders ON Orders.warehouse_id = Warehouse.warehouse_id
GROUP BY
Warehouse.warehouse_id,
warehouse_name
HAVING
COUNT(Orders.order_id) > 0
如果这些是实际的表名称,您可以尝试使用括号代替:
(SELECT COUNT(*)
FROM [peak-bit-402819.warehouse_orders.Orders] Orders) AS total_orders,
和
FROM
[peak-bit-402819.warehouse_orders.Warehouse] Warehouse