このクエリは私にとってはうまくいきます。
SELECT (SUM(AveragePrice)/COUNT(1)) AS AveragePrice, SUM(ItemsSold) AS ItemSold ,(SUM(AveragePrice * ItemsSold)) AS TotalSale FROM dbo.tbl_ProductSales
WHERE ProductID IN ( SELECT ProductID FROM tbl_ProductPostions WHERE tbl_ProductPostions.SearchID=3 AND SaleDate='2012-02-02 00:00:00.000')
GROUP BY SaleDate
そして、このような結果に
なります。アイテム販売 | トータルセール
10 | 2 | 2000年
しかし、このクエリをこのように埋め込むと
SELECT * ,(SELECT (SUM(AveragePrice)/COUNT(1)) AS AveragePrice, SUM(ItemsSold) AS ItemSold ,(SUM(AveragePrice * ItemsSold)) AS TotalSale FROM dbo.tbl_ProductSales
WHERE ProductID IN ( SELECT ProductID FROM tbl_ProductPostions WHERE tbl_ProductPostions.SearchID=tbl_SearchParameters.SearchID AND SaleDate='2012-02-02 00:00:00.000')
GROUP BY SaleDate )
FROM tbl_SearchParameters
このようなエラーが発生しました。サブクエリが EXISTS で導入されていない場合、選択リストに指定できる式は 1 つだけです。
私は限界を超えていることを知っていますが、これを行う別の方法はありますか. このタスクを実行するために関数を作成できることを知っています。しかし、これを計算するために 3 つの関数を個別に作成して、これらの集計平均価格、販売アイテム、総販売額を計算することが不可欠ですか? 1 つのクエリで 3 つの集計を計算できると確信していますが、誰かが私に適切な解決策を提案できますか? これらの集計ごとに 3 つの関数を個別に作成することに乗りたいだけです。よろしく。