2017-06-14 28 views
0

對T-SQL有一些問題對ProductID訂單進行分組,得到一個ProductID的總數,訂單總數以及表示總訂單(即百分比)的ProductID訂單的內容。列要求:PercenofTotal(單價*數量),總金額(單價*數量),PercentofTheTotal(單價*數量)您好,我使用*

所以這是我的代碼,我不知道是做percentofTheTotal和總金額

SELECT P.ProductID, (P.UnitPrice * ODQuantity) AS tOTALaMOUNTByProductID, (P.UnitPrice * Quantity) as TotalAmount , (P.UnitPrice * OD.Quantity) as PercenofTotal 
From Products as P, 
From OrderDetails as OD 
Group by P.ProductID 
+1

'FROM','FROM'。你的查詢沒有意義。 –

+0

如果您正在加入表格,請明確聲明並避免使用逗號 – maSTAShuFu

+0

我不確定您需要在這裏完成的內容,但下面的指針可幫助開始 – LogicalFlaps

回答

0

你正試圖做一些複雜的簡單陳述,這是不正確的。像這樣的事情可能會做你想達到的。

USE AdventureWorks2014 
GO 

SELECT P.ProductID 
     , SUM(P.StandardCost * OD.OrderQty) AS TotalAmountByProductID 
     , MAX(SumTA.TotalAmount) AS TotalAmount 
     , (SUM(P.StandardCost * OD.OrderQty)/(MAX(SumTA.TotalAmount))*100) AS PercentOfTotal 
FROM Production.Product as P 
INNER JOIN Sales.SalesOrderDetail as OD on P.ProductID = OD.ProductID 
LEFT OUTER JOIN (
        SELECT max(pid) as pid, SUM(TA.TotalAmount) as TotalAmount 
        FROM 
         ( SELECT '1' as pid, P.ProductID, SUM(P.StandardCost * OD.OrderQty) AS TotalAmount 
         FROM Production.Product as P 
         JOIN Sales.SalesOrderDetail as OD on P.ProductID = OD.ProductID 
          Group by P.ProductID 
         )AS TA 
       ) AS SumTA ON SumTA.pid = '1' 

Group by P.ProductID 
ORDER BY PercentOfTotal Desc 
相關問題