这个查询适合我。只有一个表达式可以在选择列表中指定。在sql查询
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
和resuts这样
AveragePrice | ItemSold | TotalSale
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一起引入时,只能在选择列表中指定一个表达式。
我知道我正在超越极限,但有没有其他方法可以做到这一点。 我知道可以创建该功能来完成这项任务。但对于分别创建 三个函数来计算这些总计平均价格,卖出的商品,总销售量是必不可少的? 虽然我确定一个查询可以为我计算三个聚合? 任何机构可以建议我适当的解决方案?我只想分别为这些聚合分别创建三个函数。 此致敬礼。