Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 结果是添加了不同的列_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 结果是添加了不同的列

Sql server 结果是添加了不同的列,sql-server,sql-server-2008,Sql Server,Sql Server 2008,这是给定的表数据,我希望输出像我给定的那样 slno name salary ----------------------------- 1 raj 5000.0000 2 laba 4000.0000 3 silu 3000.0000 4 jaya 6000.0000 5 papu 7000.0000 6 tikan 9

这是给定的表数据,我希望输出像我给定的那样

slno    name        salary
-----------------------------
1       raj         5000.0000
2       laba        4000.0000
3       silu        3000.0000
4       jaya        6000.0000
5       papu        7000.0000
6       tikan       9000.0000
7       susanta     6000.0000
8       chiku       4500.0000
9       micky       5500.0000
10      susa        2500.0000
11      musa        6500.0000
12      pi          6500.0000
13      luna        7500.0000
14      tuna        9500.0000
15      tina        3500.0000
期望输出

slno    name    salary
----------------------
1       raj     5000.0000
2       laba    4000.0000
3       silu    3000.0000
4       jaya    6000.0000
5       papu    7000.0000
6-10    ----    27500.0000(total salary from 6-10)
6-15    ----    61000.0000(total salary from 6-15)
试试这个:

create table #table_name (slno int, name varchar(20), salary float);
insert into #table_name (slno, name, salary) values
(1, 'raj', 5000.0000),
(2, 'laba', 4000.0000),
(3, 'silu', 3000.0000),
(4, 'jaya', 6000.0000),
(5, 'papu', 7000.0000),
(6, 'tikan', 9000.0000),
(7, 'susanta', 6000.0000),
(8, 'chiku', 4500.0000),
(9, 'micky', 5500.0000),
(10, 'susa', 2500.0000),
(11, 'musa', 6500.0000),
(12, 'pi', 6500.0000),
(13, 'luna', 7500.0000),
(14, 'tuna', 9500.0000),
(15, 'tina', 3500.0000);

select cast(slno as varchar(10)) [slno]
, name
, salary 
from #table_name where slno <= 5
union all
select '6-10'
, '----'
, sum(salary) 
from #table_name where slno between 6 and 10
union all
select '6-15'
, '----'
, sum(salary) 
from #table_name where slno between 6 and 15

问题是缺少部分,你为它做了什么。请提供您尝试过的查询。我希望表值中的前5行与往常一样,在第6行中,slno显示6-10无名称totalsalary(6-10),第7行slno显示6-10无鬃毛totalsalary(6-15)。我的查询选择*from emp_salary2,其中SLNONT at all@rajeshkumarishra。欢迎使用StackOverflow,不要忘记以静态方式接受答案,我不需要静态如果您想要动态解决方案-请解释分割数据集的规则。为什么你需要动态?可能有
slno
高于15?通过规范化,我正在拆分数据库中的表,这就是为什么我需要动态化,但规则是什么?例如,“我希望拆分所有表,使前5行保持不变,所有后续行必须按5分组在一起,在这种情况下,它们的编号应更改为字符串格式[first_id-last_id],名称应更改为“-----”,工资应汇总”-这就是您想要的?
slno    name    salary
----------------------
1       raj     5000
2       laba    4000
3       silu    3000
4       jaya    6000
5       papu    7000
6-10    ----    27500
6-15    ----    61000