日期:2014-05-18 浏览次数:20538 次
select 主件品号,合计成本,'结果'=sum(case when 阶次='.1' then 合计成本 when 阶次='0' then sum(合计成本) else null end) from sheet2 where 主件品号='2002010025'
------解决方案--------------------
CREATE TABLE [dbo].[Sheet2]( [主件品号] [float] NULL, [阶次] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, [元件品号] [float] NULL, [品 名] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, [规 格] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, [单位] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, [合计成本] [float] NULL ) ON [PRIMARY] go --数据如下(当阶次为0时,合计成本相加,当为.1时,结果不变): insert into sheet2 select 2002010025,'0',2002010025,'扩口直通穿板接头','SS-BU-AN3','PCS',2.70933333333333 insert into sheet2 select 2002010025,'.1',1100113091,'316/A479冷拉六方棒','H15.88','M',4.06 go select *, (case when 阶次='.1' then 合计成本 else (select sum(合计成本) from sheet2 where 主件品号=a.主件品号) end)as 总成本 from sheet2 a /* 主件品号 阶次 元件品号 品 名 规 格 单位 合计成本 总成本 ---------------------- ------------- ---------------------- ----------------------- ----------- ---------- ---------------------- ---------------------- 2002010025 0 2002010025 扩口直通穿板接头 SS-BU-AN3 PCS 2.70933333333333 6.76933333333333 2002010025 .1 1100113091 316/A479冷拉六方棒 H15.88 M 4.06 4.06 (2 行受影响) */ go drop table sheet2