SqlServer中查询出多条记录变成一个记录(行变列)
2008-06-10 19:16
204 查看
碰到一个sql问题,不知道怎么搞,问了群里面的一个sql高手 ,夕颜大哥,他使用短短一句sql就实现我的要求,太牛了。原来sql还可以这么神奇,唉,还是怪自己sql不精通。
一个表A,两个字段ID,name,一个ID可能对应多name,要求根据一个ID查询出对应的name,但是不是以多行的形式显示出来,而是以一个行的形式出来,多个name以,分割。
比如 数据
i name
1 a
1 b
1 c
应该查询来的结果是; [a,b,c 1]
sql是这样写的
DECLARE @names varchar(1000)
SET @names = ''
SELECT @names=@names+ISNULL(name, '')+','
FROM A
WHERE id = 1
select @names
用的是sql的所谓自拼接,这是夕颜的说法,大家研究一下,感觉很有意思的。
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
一个表A,两个字段ID,name,一个ID可能对应多name,要求根据一个ID查询出对应的name,但是不是以多行的形式显示出来,而是以一个行的形式出来,多个name以,分割。
比如 数据
i name
1 a
1 b
1 c
应该查询来的结果是; [a,b,c 1]
sql是这样写的
DECLARE @names varchar(1000)
SET @names = ''
SELECT @names=@names+ISNULL(name, '')+','
FROM A
WHERE id = 1
select @names
用的是sql的所谓自拼接,这是夕颜的说法,大家研究一下,感觉很有意思的。
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
相关文章推荐
- 根据某个字段将多条记录的某个字段拼接成一个字段(SQL查询)
- SqlServer 2005中使用row_number()在一个查询中删除重复记录
- 如何查询oracle数据库一个表中的多条记录是否有重复
- SqlServer中使用row_number()在一个查询中删除重复记录
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
- 在SQL语句中查询多条记录并把多条记录同一字段的值连接成一个字符并返回的写法
- SqlServer和Oracle从多行记录(数据集)中查询结果并拼接成一个字符串的SQL语句(纵表数据转成拼接的文本)
- 数据库中多条记录有相同数据,可以用函数筛选只查询相同记录中的一条
- java 实现查询一个数据表中记录总数
- sqlserver查询一个表的字段信息
- 如何把一个有记录的数据库变成空数据库
- sqlserver 以年月日为条件查询记录
- SqlServer查询数据库所有用户表的记录数
- mysql中查询多条不重复记录值的解决办法
- 【数据库】SQL查询多条不重复记录值简要解析
- mysql中如何将查询结果的多个记录中的指定字段放到一个二维数组中,以及在in子句中使用数组
- PL/SQL用光标查询多条记录
- SQL 单表多条记录分组查询分页代码
- sqlserver查询包含在一个字段里面的某一个元素
- SQLSERVER 占了500多M内存,原来的程序无法一次查询出50多W数据了,记录下这个问题的解决过程。