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

sqlserver多行并一行

发布时间: 2022-09-24 03:22:04

sqlserver 一对多导出到同一行

1/ 先建立一个字符连接函数:
CREATE FUNCTION [dbo].[UDF_UniteStr](@FlagId int)
RETURNS NVARCHAR(max)
AS
BEGIN
DECLARE @NameStr VARCHAR(max)
SET @NameStr = ''
SELECT @NameStr= @NameStr+ ' ' + tt.bname
FROM (SELECT [A&B].aid,A.name as aname,[A&B].bid,B.name as bname
FROM [A&B] INNER JOIN A ON [A&B].aid=A.id
INNER JOIN B ON [A&B].bid=B.id
) tt
WHERE tt.aid= @FlagId

SET @NameStr= STUFF(@NameStr,1 ,1 ,'')
RETURN @NameStr
END

GO

2/ 调用该函数进行查询即可:
SELECT Id,name,bname=dbo.[UDF_UniteStr](id)
FROM A

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

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

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

❸ sqlserver怎么通过sql实现两行数据拼成一行

select
select * from table1,
select * from table2 where rownum = 1,
select * from table2 where rownum = 2,
select * from table2 where rownum = 3
from al;

❹ 求sqlserver2008 中多行转 成一行多列的 方法

表结构都不一样了?
要是数据比较少呢,你可以试试手动修改你的表,表结构不一样就需要uodate了。
在表上右键,可以 edit tio 200 rows这个比较方便

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

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

❻ SqlServer怎么把查询出来的结果整合集为一行

先得进行序号识别,用COUNT(*)语句.
再进行选择,用SELECT语句.

❼ 求SQL代码:要求把多行内容合并到一行内。

如果是oracle数据库,那么有一个相关函数
wmsys.wm_concat
直接可以写为
select id,wmsys.wm_concat(value) from a group by id
如果是sqlserver
要用for xml path,具体代码我记得是

select id, [values]=stuff((select ','+[value] from a t where id=a.id for xml path('')), 1, 1, '') from a group by id

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

SQLSERVER本身不可以, 你需要用报表服务或者自己写一个程序来展示数据

❾ SQLserver 多行变一行的问题

SELECTDISTINCT
sn,
STUFF((SELECT
','+CONVERT(varchar,工号)

FROM[dbo].workermessage

WHEREsn=A.sn

FORxmlPATH(''))
,1,1,''

)ASC

FROM[dbo].workermessageASA

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

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

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