当前位置: 代码迷 >> Sql Server >> 大家帮忙看下这个SQL如何写,多谢了!
  详细解决方案

大家帮忙看下这个SQL如何写,多谢了!

热度:6   发布时间:2016-04-27 14:39:29.0
大家帮忙看下这个SQL怎么写,谢谢了!!!
表结构如下:
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 主件品号,合计成本

------解决方案--------------------
SQL code
select 主件品号,合计成本,'结果'=sum(case when 阶次='.1' then 合计成本 when 阶次='0' then sum(合计成本) else null end)from sheet2where 主件品号='2002010025'
------解决方案--------------------
探讨

引用:

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

消息 81……

------解决方案--------------------
SQL code
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.70933333333333insert into sheet2 select 2002010025,'.1',1100113091,'316/A479冷拉六方棒','H15.88','M',4.06goselect *,(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.769333333333332002010025             .1               1100113091             316/A479冷拉六方棒    H15.88           M                4.06                   4.06(2 行受影响)*/godrop table sheet2
  相关解决方案