我有如下数据:SQL Server的SQL语句 - 更新记录
我需要使用column id, region, company, dept, subdept and amountsepend
更新Matching_id
和Matching_Type
。逻辑是:
Sum AmountSepend by Region, Company, Dept and SubDept
。如果总金额为0,那么Matching_Type是'匹配',而Matching_id是匹配记录的ID的组合,否则'不匹配'且Matching_id是ID。 ** SUM表示不论AmountSepend是正数还是负数,对于相同条件的所有记录的总数。
另一个重要的标准是,如果该事务是单个记录,通过各地区分组意总计数,公司,DEPT和SubDept为1,则相配的类型不匹配,Matching_UID是ID不管AmountSepend是0或正/负值。实例ID 8
下面是输出:
这里的表和数据的脚本
CREATE TABLE [dbo].[StackoverflowQuest](
[id] [int] NOT NULL,
[Region] [varchar](50) NULL,
[Company] [varchar](50) NULL,
[Dept] [varchar](50) NULL,
[SubDept] [varchar](50) NULL,
[AmountSepend] [float] NULL,
[Matching_id] [varchar](100) NULL,
[Matching_Type] [varchar](100) NULL
) ON [PRIMARY]
我怎么能取得这样的结果?任何帮助/暗示将不胜感激
你还在寻找解决方案吗? – andrews