
正文
sqlserver行合并,sql server多行合并成一行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver怎么将两行数据合并成一行
select czy,sum(sfsl),sum(sfje),...............
from
(
select czy=case when czy='董事会成员' then ‘内部职工’end,sfsl,sfje,.....
from 表
) t1
group by czy
相关问答
Q1: SQL语句怎么实现几列数据合并成一行??
你这样做的话 就这两个表是不行的。
本来就是一对多的关系 你强行的要把其变成一对一的关系那是不可能。
如果你是要在程序里实现可以这样:
001,a,10
001,b,10
001,c,10
写到一个DataTable里
然后循环读取行的第二和第三个值
在写到一个字符串里
Q2: sql 合并多列的行
不知道你为什么设计成这样的结构,假如你的长袖衬衣数和
短袖
衬衣数不能同时0,你可以试试我下面的语句
ORACLE:
select
姓名,性别,部门,wmsys.wm_concat(领号),wmsys.wm_concat(sl)
from
(select
姓名,性别,部门,领号,sum(长袖衬衣数+短袖衬衣数)
as
sl
from
table
group
by
姓名,性别,部门,领号)
group
by
姓名,性别,部门
SQLSERVER
:
select
姓名,性别,部门,group_concat(领号),group_concat(sl)
from
(select
姓名,性别,部门,领号,sum(长袖衬衣数+短袖衬衣数)
as
sl
from
table
group
by
姓名,性别,部门,领号)
group
by
姓名,性别,部门
Q3: SQL Server2008 怎么将一列的多行内容合并成一行,其他列不合并。如图:
SQLSERVER本身不可以, 你需要用报表服务或者自己写一个程序来展示数据SQL Server2008 怎么将一列的多行内容合并成一行,其他列不合并。如图:
Q4: SQL 将属于同一个ID下的多行数据合并到一行
mssql下
create Table #myfal (ID int,data1 varchar(20),data2 varchar(20))
insert into #myfal values (1,1,'')
insert into #myfal values (1,1.1,'')
insert into #myfal values (1,'',0.3)
insert into #myfal values (2,1,'')
insert into #myfal values (2,'',1.2)
select * from #myfal
select ID,SUM(case when data1 = '' then 0 else Convert(float,data1) end) data1 ,
SUM(case when data2 = '' then 0 else Convert(float,data2) end) data2 from #myfal
group by id
drop table #myfal
Q5: SQL server 多行合并成一个单元格值
首先要实现你这样的结果在SQLSERVER中基本是不可能的,因为这样的展示基本违背了第一范式的原则。
要实现这个唯独通过程序来操作。
或者你可以实现为:
a 11、22、33(‘、’为用户自定义的分隔符)
b 44、55、66






