Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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/7/sql-server/26.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
Sql 具有复合键的聚合函数_Sql_Sql Server_Sql Server 2008_Sql Server 2008 R2 - Fatal编程技术网

Sql 具有复合键的聚合函数

Sql 具有复合键的聚合函数,sql,sql-server,sql-server-2008,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008,Sql Server 2008 R2,我需要根据CollMstHdr.EntryNo和CollMstHdr.Date计算金额总和,我有EntryNo和Date两个主键,但仅根据EntryNo计算金额总和。 当我们有两列作为主键时,如何使用Group By Clouse 首先根据表结构执行连接。 然后将列放入要对其执行分组的select and group by子句中 例如,如果您希望在EntryNo和Date上分组,请执行以下操作: SELECT CollMstHdr.EntryNo, CollMstHdr.Date, PartyM

我需要根据CollMstHdr.EntryNo和CollMstHdr.Date计算金额总和,我有EntryNo和Date两个主键,但仅根据EntryNo计算金额总和。
当我们有两列作为主键时,如何使用Group By Clouse

首先根据表结构执行连接。 然后将列放入要对其执行分组的select and group by子句中

例如,如果您希望在EntryNo和Date上分组,请执行以下操作:

SELECT CollMstHdr.EntryNo, CollMstHdr.Date, PartyMst.PName, SUM(CollMstDtl.Amt)
FROM CollMstHdr
  INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo
  INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd
group by CollMstHdr.EntryNo, CollMstHdr.Date, PartyMst.PName
SELECT CollMstHdr.EntryNo, CollMstHdr.Date, SUM(CollMstDtl.Amt)
FROM CollMstHdr
  INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo
  INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd
group by CollMstHdr.EntryNo, CollMstHdr.Date
如果只想在EntryNo上分组,请执行以下操作:

SELECT CollMstHdr.EntryNo, CollMstHdr.Date, PartyMst.PName, SUM(CollMstDtl.Amt)
FROM CollMstHdr
  INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo
  INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd
group by CollMstHdr.EntryNo, CollMstHdr.Date, PartyMst.PName
SELECT CollMstHdr.EntryNo, CollMstHdr.Date, SUM(CollMstDtl.Amt)
FROM CollMstHdr
  INNER JOIN CollMstDtl ON CollMstHdr.EntryNo = CollMstDtl.EntryNo
  INNER JOIN PartyMst ON CollMstHdr.SPartyCd = PartyMst.PartyCd
group by CollMstHdr.EntryNo, CollMstHdr.Date

请解释一下你需要什么。首先,你说你想要每个
条目号和
日期的总和,然后你说你只想要每个
条目号和日期的总和。我想要每个条目号和日期的总和。然后使用第一个查询。。。我已经在我的回答中详细说明了。。。请注意,您的要求不同。。请澄清一下。