[英]Bigquery Join syntax errors with example code that works in standard SQL
我正在使用大查询并希望找到 emailAddress 的第一个订单的 toalAfterRefund 值。 这两个 select 语句都作为单独的语句工作,但我在加入它们时遇到了麻烦。 我得到错误
Syntax error: Expected end of input but got keyword JOIN at [1:1]
我无法理解在 bigquery 中将这些语句作为这些语句连接在一起需要做什么。 我正在尝试获取 emailAddresses 第一个 orderDate 的 toalAfterRefund 值。
SELECT H.emailAddress, H.orderId, H.orderDate, H.totalAfterRefund
FROM `nexgen-362616.orders.allOrders` AS H
WHERE totalAfterRefund>0
JOIN
(SELECT emailAddress, MIN(OrderDate) AS first_order
FROM `nexgen-362616.orders.allOrders` as X
WHERE totalAfterRefund>0
GROUP BY emailAddress)
ON H.emailAddress = X.emailAddress AND H.orderDate = X.first_order
WITH table_emailAddress as
(SELECT emailAddress, MIN(OrderDate) AS first_order
FROM `nexgen-362616.orders.allOrders` as X
WHERE totalAfterRefund>0
GROUP BY emailAddress)
SELECT H.emailAddress, H.orderId, H.orderDate, H.totalAfterRefund
FROM `nexgen-362616.orders.allOrders` AS H
JOIN table_emailAddress as X
ON H.emailAddress = X.emailAddress AND H.orderDate = X.first_order
WHERE totalAfterRefund>0
您在我们的代码中有多个问题,
所以
SELECT H.emailAddress, H.orderId, H.orderDate, H.totalAfterRefund, X.first_order
FROM `nexgen-362616.orders.allOrders` AS H
JOIN
(SELECT emailAddress, MIN(OrderDate) AS first_order
FROM `nexgen-362616.orders.allOrders`
WHERE totalAfterRefund>0
GROUP BY emailAddress) as X
ON H.emailAddress = X.emailAddress AND H.orderDate = X.first_order
WHERE totalAfterRefund>0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.