2

私はSQLクエリを持っています:

SELECT
  [Order].Quantity
 ,[Order].Refund
 ,[Order].Price
 ,[Order].Archive AS [Order Archive]
 ,[Order].Handled
 ,[Order].[Date] AS [Order Date]
 ,[Order].OrderNum
 ,[Order].SecondaryID
 ,SUM((Quantity - (ISNULL(Refund, 0))) * Price) As Total
 ,Product.CatalogNum
 ,Product.ProductName
 ,Customer.CustomerName
 FROM
 [Order]
 INNER JOIN Customer
 ON Customer.CustomerID = [Order].CustomerID
 INNER JOIN Product
 ON Product.ProductID = [Order].ProductID
 WHERE [Order].OrderNum In (@order) 
 Group By [Order].Quantity,
 [Order].Refund
,[Order].Price
,[Order].Archive
,[Order].Handled
,[Order].[Date]
,[Order].OrderNum,Product.CatalogNum
,Product.ProductName
,Product.ProductPrice
,Customer.CustomerName,Customer.CustomerID
,[Order].SecondaryID Order by Customer.CustomerID,[Order].Quantity

これを使用して、Report Builder 3.0 でレポートを作成します。SQL については、必要な結果が得られます。ただ、通報ツールを使っていると、同じ商品でも価格が違う場合(特売など)に困ります。商品の合計数量がわかりません。同じ製品のすべての行の価格が同じ場合、SUM を実行します。すべてが優れています。価格が異なる場合、同じ製品の価格グループごとに SUM を取得する必要があります。

続行する方法はありますか?

4

1 に答える 1

2

GROUP BY句で、行を削除します

,Product.ProductPrice 

これにより、価格が異なるとグループ化が異なります。削除すると、価格に関係なく製品名でグループ化されます。

于 2012-06-07T03:43:14.867 に答える