[英]SQL Server - SELECT statement not returning results
使用AdventureWorks數據庫,我得到一個問題:“ 列出訂單客戶名稱,訂單狀態,訂購日期,訂單項數以及訂單項數大於300的平均訂購數量 ”。 但是,我下面的SELECT語句不返回任何結果...我在做什么錯?
SELECT scpii.LastName + ', ' + scpii.FirstName AS 'Customer Name', ssoh.Status AS 'Order Status', ssoh.OrderDate AS 'Date Ordered', SUM (ssod.OrderQty) AS 'Count of Items', AVG (ssod.OrderQty) AS 'Average Quantity'
FROM Sales.CustomerPII scpii
INNER JOIN Sales.SalesOrderHeader ssoh
ON ssoh.CustomerID = scpii.CustomerID
INNER JOIN Sales.SalesOrderDetail ssod
ON ssod.SalesOrderID = ssoh.SalesOrderID
GROUP BY scpii.LastName, scpii.FirstName, ssoh.Status, ssoh.OrderDate, ssod.OrderQty
HAVING SUM(ssod.OrderQty) > 300;
ProductID
和Orderqty
。 如果對它們進行分組,則將其分組到單個訂單項級別。 因此,您將永遠無法計數超過300 Orderqty
總和。 嘗試:
SELECT scpii.LastName + ', ' + scpii.FirstName AS 'Customer Name',
ssoh.Status AS 'Order Status',
ssoh.OrderDate AS 'Date Ordered',
SUM (ssod.OrderQty) AS 'Count of Items',
AVG (ssod.OrderQty) AS 'Average Quantity'
FROM Sales.CustomerPII scpii
INNER JOIN Sales.SalesOrderHeader ssoh
ON ssoh.CustomerID = scpii.CustomerID
INNER JOIN Sales.SalesOrderDetail ssod
ON ssod.SalesOrderID = ssoh.SalesOrderID
GROUP BY scpii.LastName,
scpii.FirstName,
ssoh.Status,
ssoh.OrderDate
HAVING SUM (ssod.OrderQty) > 300;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.