Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MSSQL查询中添加包含总计的汇总行?_Sql_Sql Server_Sql Server 2008_Ms Query - Fatal编程技术网

如何在MSSQL查询中添加包含总计的汇总行?

如何在MSSQL查询中添加包含总计的汇总行?,sql,sql-server,sql-server-2008,ms-query,Sql,Sql Server,Sql Server 2008,Ms Query,这是问题 SELECT MAX (Supplier.SupplierName) as Supplier, MAX (Department.Name) as Department, MAX (Category.Name) as Category, MAX (ItemClass.ItemLookupCode) as Matrix, MAX (Item.ItemLookupCode) as ItemLookupCode, MAX (Item.Description) as Description,

这是问题

SELECT 
MAX (Supplier.SupplierName) as Supplier, 
MAX (Department.Name) as Department,
MAX (Category.Name) as Category,
MAX (ItemClass.ItemLookupCode) as Matrix,
MAX (Item.ItemLookupCode) as ItemLookupCode,
MAX (Item.Description) as Description,
SUM (TransactionEntry.Quantity) as QtySold,
MAX (Item.Cost) as Cost,
MAX (Item.Price) as Price,
MAX (TransactionEntry.Price) as SoldPrice,
SUM (TransactionEntry.Price * TransactionEntry.Quantity) as TotalSale,
MAX (Item.Quantity) as OnHand

  FROM        TransactionEntry 
  INNER JOIN  [Transaction] WITH(NOLOCK) 
              ON TransactionEntry.TransactionNumber = [Transaction].TransactionNumber AND TransactionENtry.ItemType <> 9 AND TransactionEntry.StoreID = [Transaction].StoreID 
  INNER JOIN  Batch WITH(NOLOCK) 
              ON [Transaction].BatchNumber = Batch.BatchNumber AND [Transaction].StoreID = Batch.StoreID
  LEFT JOIN   Item WITH(NOLOCK) 
              ON TransactionEntry.ItemID = Item.ID 
  LEFT JOIN   Department WITH(NOLOCK) 
              ON Item.DepartmentID = Department.ID 
  LEFT JOIN   Category WITH(NOLOCK) 
              ON Item.CategoryID = Category.ID 
  LEFT JOIN   Supplier WITH(NOLOCK) 
              ON Item.SupplierID = Supplier.ID 
  LEFT JOIN   ReasonCode AS ReasonCodeDiscount WITH(NOLOCK) 
              ON TransactionEntry.DiscountReasonCodeID = ReasonCodeDiscount.ID 
  LEFT JOIN   ReasonCode AS ReasonCodeTaxChange WITH(NOLOCK) 
              ON TransactionEntry.TaxChangeReasonCodeID = ReasonCodeTaxChange.ID
  LEFT JOIN   ReasonCode AS ReasonCodeReturn WITH(NOLOCK) 
              ON TransactionEntry.ReturnReasonCodeID = ReasonCodeReturn.ID
  LEFT JOIN   Store ON [Transaction].StoreID = Store.ID
  LEFT JOIN   ItemClassComponent WITH(NOLOCK) 
      ON Item.ID = ItemClassComponent.ItemID
  LEFT JOIN   ItemClass WITH(NOLOCK) 
      ON ItemClassComponent.ItemClassID = ItemClass.ID

WHERE    DATEDIFF(week, [Transaction].Time, GETDATE()) = 1 AND
Supplier.SupplierName = 'Name'

GROUP BY Item.ItemLookupCode
选择
MAX(供应商名称)作为供应商,
MAX(部门名称)作为部门,
MAX(Category.Name)作为类别,
最大值(ItemClass.ItemLookupCode)作为矩阵,
最大值(Item.ItemLookupCode)为ItemLookupCode,
最大值(项目说明)作为说明,
数量销售总额(交易数量),
最大(项目成本)作为成本,
最高(项目价格)作为价格,
最大(TransactionEntry.Price)作为SoldPrice,
合计(TransactionEntry.Price*TransactionEntry.Quantity)作为总销售额,
现有最大(项目数量)
来自TransactionEntry
与(NOLOCK)的内部联接[事务]
在TransactionEntry.TransactionNumber=[Transaction].TransactionNumber和TransactionEntry.ItemType 9和TransactionEntry.StoreID=[Transaction].StoreID上
内部连接批次与(NOLOCK)
在[Transaction].BatchNumber=Batch.BatchNumber和[Transaction].StoreID=Batch.StoreID上
使用(NOLOCK)左连接项目
在TransactionEntry.ItemID=Item.ID时
左加入部门(NOLOCK)
ON Item.DepartmentID=Department.ID
使用(NOLOCK)左连接类别
在Item.CategoryID=Category.ID上
左连接供应商(NOLOCK)
ON Item.SupplierID=Supplier.ID
将ReasonCode作为ReasonCode折扣与(NOLOCK)左连接
在TransactionEntry.DiscountReasonCodeID=ReasonCodeDiscount.ID上
将ReasonCode作为ReasonCodeTaxChange与(NOLOCK)左连接
在TransactionEntry.TaxChangeReasonCodeID=ReasonCodeTaxChange.ID上
将ReasonCode作为ReasonCodeReturn与(NOLOCK)左连接
在TransactionEntry.ReturnReasonCodeID=ReasonCodeReturn.ID上
[Transaction]上的左加入存储区。StoreID=Store.ID
使用(NOLOCK)左连接ItemClassComponent
在Item.ID=ItemClassComponent.ItemID上
使用(NOLOCK)左连接ItemClass
在ItemClassComponent.ItemClassID=ItemClass.ID上
其中DATEDIFF(week,[Transaction].Time,GETDATE())=1和
Supplier.SupplierName='Name'
按项分组。项查找代码
这是查询,如何为某些列的总数添加摘要行?我试了几样东西,但什么也找不到

请帮忙


您可能正在寻找
分组集
或具有汇总功能的

分组依据
子句更改为:

GROUP BY GROUPING SETS ((Item.ItemLookupCode), ())

您可能正在查找
分组集
或具有汇总功能的

分组依据
子句更改为:

GROUP BY GROUPING SETS ((Item.ItemLookupCode), ())

请您提供一些示例表数据好吗?在继续使用NOLOCK提示乱丢数据库之前,您应该先阅读这些数据……除非您对大多数情况下最准确的结果感到满意。由于这看起来像一个金融应用程序,我怀疑丢失和/或重复的行是否可以接受。我需要添加行查询来计算总数吗?请提供一些示例表数据好吗?在继续使用NOLOCK提示乱丢数据库之前,您应该先阅读这些数据……除非您对大多数情况下最准确的结果感到满意。由于这看起来像一个金融应用程序,我怀疑丢失和/或重复的行是否可以接受。我需要添加行查询来计算总数吗?我得到了相同的结果。我是否需要添加查询以计算总行?当运行此查询时,它应该添加一个额外的行,这是应用于所有数据的分组条件。这就是
()
分组集所做的。结果应该不一样,谢谢!它可以工作,但是有没有办法只显示需要求和的列?@user3524687。结果集中的所有行都有相同的列,所以我不确定你在问什么。嗨,戈登,我已经附上了截图。第一个屏幕截图,最后一行只有QtySold、TotalSale和OnHand之和(不知何故,这不会求和)。这就是我喜欢在报告中展示的方式。如果您查看第二个屏幕截图,最后一列包含所有信息。有没有办法修复?我得到了同样的结果。我是否需要添加查询以计算总行?当运行此查询时,它应该添加一个额外的行,这是应用于所有数据的分组条件。这就是
()
分组集所做的。结果应该不一样,谢谢!它可以工作,但是有没有办法只显示需要求和的列?@user3524687。结果集中的所有行都有相同的列,所以我不确定你在问什么。嗨,戈登,我已经附上了截图。第一个屏幕截图,最后一行只有QtySold、TotalSale和OnHand之和(不知何故,这不会求和)。这就是我喜欢在报告中展示的方式。如果您查看第二个屏幕截图,最后一列包含所有信息。有什么办法可以解决吗??