表结构如下:
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]数据如下(当阶次为0时,合计成本相加,当为.1时,结果不变):
2002010025  0 2002010025 扩口直通穿板接头 SS-BU-AN3 PCS 2.70933333333333    6.76933333333333
2002010025  .1 1100113091 316/A479冷拉六方棒 H15.88 M 4.06       4.06代码(执行错误:不能对包含聚合或子查询的表达式执行聚合函数。):
select 主件品号,合计成本,'结果'=sum(case when 阶次='.1' then  合计成本  when 阶次='0' then sum(合计成本) else null end)
from sheet2
where 主件品号='2002010025'
group by 主件品号,合计成本

解决方案 »

  1.   

    select 主件品号,合计成本,'结果'=sum(case when 阶次='.1' then 合计成本 when 阶次='0' then sum(合计成本) else null end)
    from sheet2
    where 主件品号='2002010025'
      

  2.   

    select 
    主件品号,
    合计成本,
    case when 阶次='.1' then 合计成本 
              when 阶次='0' then sum(合计成本) 
             else null 
         end  as '结果'
    from sheet2
    where 主件品号='2002010025'
    group by 主件品号,合计成本
      

  3.   

    消息 8120,级别 16,状态 1,第 1 行
    选择列表中的列 'sheet2.阶次' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
    消息 8120,级别 16,状态 1,第 1 行
    选择列表中的列 'sheet2.阶次' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。我加下'sheet2.阶次'例后,未进行加总!
      

  4.   


    你把这个字段添加到group by 后面
      

  5.   

    我加下'sheet2.阶次'例后,未进行加总!
      

  6.   

    一句sql貌似很难~~~~~你可以用2条sql 把查询结果连接起来~~~~~
      

  7.   

    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
      

  8.   


    数据参考下8楼qianjin036a的吧
    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