Sql 使用其他表中的几个条件之和创建表

Sql 使用其他表中的几个条件之和创建表,sql,database,sum,conditional-statements,Sql,Database,Sum,Conditional Statements,我还有一个问题,因为我需要在一个表中根据其他表中的几个数据(成本)求和。上面的解决方案在一个条件下提供数据,我需要的是在其他表中的几个条件下求和: 所以我有一个成本表,它看起来: CREATE TABLE [dbo].[Cost]( [ID_Cost] [int] NOT NULL, [Name] [varchar](50) NULL, [ID_CostCategory] [int] NULL, [ID_Department] [int] NULL, [ID_Project] [int] NUL

我还有一个问题,因为我需要在一个表中根据其他表中的几个数据(成本)求和。上面的解决方案在一个条件下提供数据,我需要的是在其他表中的几个条件下求和:

所以我有一个成本表,它看起来:

CREATE TABLE [dbo].[Cost](
[ID_Cost] [int] NOT NULL,
[Name] [varchar](50) NULL,
[ID_CostCategory] [int] NULL,
[ID_Department] [int] NULL,
[ID_Project] [int] NULL,
[Value] [money] NULL,
) go
然后我有部门表,有colums:ID\u部门,名称,计划

我想做的是在Department表中,实现基于几个条件(ID_CostCategory和ID_Department,如果可能的话,ID_Project)的成本表中的值之和的列实现


因此,在结果中,我得到了部门表、列实现以及每个ID\u CostCategory和ID\u Department的成本表中的成本总和。

为什么要将总和存储在表中,而不是仅通过查询提取?Gordon的echo…计算列不是最好的存储方式,而是动态运行计算。你考虑过视图吗?按3列求和并不难。。。按ID成本类别、ID部门、ID项目从成本组中选择ID成本类别、ID部门、ID项目、总和(值)作为实现。。。将获得数据;然而,这甚至不一定适合department表,因为该表只包含ID_department,而不是其他ID值的总和;因此,如果一个部门ID有多个ID\u CostCategory和/或ID\u Project值,您将拥有比实现列多得多的总和。最好在部门表中有一个实现列。请查看一个条件的@rs.解决方案。我需要的是至少2个条件(ID\u成本类别、ID\u部门甚至ID\u项目)。