【发布时间】:2020-09-15 19:47:54
【问题描述】:
我正在使用“使用 SQL 和 Excel 进行数据分析”一书中的 SQLBook 数据库来显示总发货天数高于平均发货天数的州的平均发货天数。我正在使用 2 个公用表表达式:
WITH orderDetails (days, state)
AS(
SELECT DATEDIFF(day, o.OrderDate, ol.ShipDate), o.State
FROM SQLBook.dbo.Orders o
JOIN [SQLBook].dbo.OrderLines ol
ON ol.OrderId = o.OrderId
)
,
/* This finds the overall average shipping days */
AvgShipping (avgShip)
AS(
SELECT AVG(DATEDIFF(day, o.OrderDate, ol.ShipDate))
FROM SQLBook.dbo.Orders o
JOIN [SQLBook].dbo.OrderLines ol
ON ol.OrderId = o.OrderId
)
SELECT
state,
AVG(days) AS "Average days to ship"
FROM orderDetails
GROUP BY state
HAVING AVG(days) > AvgShipping.avgShip
ORDER BY state
问题是我不断收到“无法绑定多部分标识符“AvgShipping.avgShip””错误。请让我知道这个查询的问题出在哪里。
谢谢!
【问题讨论】:
标签: sql common-table-expression