当前位置:首页 » 编程语言 » sqlserver合并行
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver合并行

发布时间: 2022-07-17 20:57:18

sql 如何把多行合并成为单行

看你使用什么数据库
对于sql
server
使用for
xml的方式
对于mysql使用
group_concat
函数
的方式进行处理
对于oracle使用
wmsys.wm_concat
函数
的方式进行处理

㈡ 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
姓名,性别,部门

㈢ sql查询时如何合并两行数据,具体如下。

看样子像sqlserver,就按sqlserver的写了

创建测试表,数据:

createtabletest
(requestidint,
logidint,
operatedatevarchar(10),
operatetimevarchar(10),
operatorint);


insertintotestvalues(502,1372,'2018-06-13','16:16:03',155);
insertintotestvalues(502,1446,'2018-06-14','09:00:32',153);
insertintotestvalues(502,1472,'2018-06-14','09:33:07',157);
insertintotestvalues(502,1474,'2018-06-14','09:35:11',151);
insertintotestvalues(502,1657,'2018-06-14','15:17:10',153);
insertintotestvalues(502,1660,'2018-06-14','15:18:17',155);
insertintotestvalues(502,1661,'2018-06-14','15:19:01',153);
insertintotestvalues(502,1662,'2018-06-14','15:19:48',157);
insertintotestvalues(502,1677,'2018-06-14','15:31:34',151);
insertintotestvalues(502,1694,'2018-06-14','16:42:51',12);
insertintotestvalues(502,1709,'2018-06-14','18:08:45',9);
insertintotestvalues(502,1730,'2018-06-15','08:09:14',158);
insertintotestvalues(502,1732,'2018-06-15','08:09:16',157);

执行:

withtas
(selecttest.*,row_number()over()rnfromtest)
selectt1.requestid,t1.logid,cast(t1.operatedate+''+t1.operatetimeasdatetime)begintime,cast(t2.operatedate+''+t2.operatetimeasdatetime)endtime,t1..requestid=t2.requestidandt1.rn=t2.rn+1

查询结果:

最后时间没按你那种方式显示,你那种到时候算操作时间也麻烦,还不如改成时间日期类型了。

㈣ SQL语句怎么实现几列数据合并成一行

你这样做的话 就这两个表是不行的。
本来就是一对多的关系 你强行的要把其变成一对一的关系那是不可能。

如果你是要在程序里实现可以这样:
001,a,10
001,b,10
001,c,10
写到一个DataTable里
然后循环读取行的第二和第三个值
在写到一个字符串里

㈤ sqlserver怎么将两行数据合并成一行

select czy,sum(sfsl),sum(sfje),...............
from
(
select czy=case when czy='董事会成员' then ‘内部职工’end,sfsl,sfje,.....
from 表
) t1
group by czy

㈥ SQL 将属于同一个ID下的多行数据合并到一行

selectid,sum(isnull(data1,0))data1,sum(isnull(data2,0))data2from表1groupbyid

sqlserver写法,其他数据库略有不同

㈦ SQL Server2008 怎么将一列的多行内容合并成一行,其他列不合并。如图:

SQLSERVER本身不可以, 你需要用报表服务或者自己写一个程序来展示数据SQL Server2008 怎么将一列的多行内容合并成一行,其他列不合并。如图:

㈧ sqlserver2008 怎么把一张表中相同列的行合并

用group by分组就可以了

selectid,sum(value)valuefrom表名groupbyid

㈨ sqlserver 数据库表数据合并

--先把表1和表2的solver合并起来,再分别和表1,表2做连接
WithT
As
(
SelectsolverFrom表1
union
SelectsolverFrom表2
)
SelectT.solver,Isnull(A.amount1,0)Asamount1,isnull(B.amount2,0)Asamount2FromT
LeftJoin表1AonT.solver=A.solver
LeftJoin表2BonT.solver=B.solver