首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

简单的查询,不知道如何解决

2012-02-17 
简单的查询,不知道怎么解决?表A:ID名称类别1Adr2Bqr3cer4fdr5edr6gdr7jqr8hdr以上为简单数据,真是数据可能

简单的查询,不知道怎么解决?
表A:
ID 名称 类别
1 A dr
2 B qr
3 c er
4 f dr
5 e dr
6 g dr
7 j qr
8 h dr

以上为简单数据,真是数据可能很庞杂。
怎样简单得到 类别为dr 时 输入全部名称为结果为:A、F、e、h
select 名称
from a
where 类别='dr'
结果为:
A
F
e
h
如何得到的结果为一行:A、f、e、h 。
菜鸟不懂,怎么把列的结果转成行,不好意思。

[解决办法]
declare @s varchar(100)
select @s=isnull(@s+'、','')+名称 from [Table] where 类别='dr' order by id
select @s
[解决办法]

SQL code
select col from table结果集:12345我想要的是用逗号隔开的一个字符串1,2,3,4,5declare @output varchar(8000)select @output = coalesce(@output+',', '') + col from tableprint @output--如果col是数值型要转换一下:declare @output varchar(8000)select @output = coalesce(@output+',', '') + cast(col as varchar) from tableprint @output
[解决办法]


select 名称 
from a 
where 类别= 'dr ' 
结果为: 





-------
用动态SQL

declare @str varchar(1000)
set @str=''
select @str=@str+ ','+ 名称 from a where 类别= 'dr ' 
select stuff(@str,1,1)

热点排行