问题:一个表test,有2列:firstname varchar(50),domain varchar(50)。test表有如下数据行:firstname domain----------------------tony group1tony group2tony group3john group4 提问:求一条sql,查询结果可以按如下格式显示:firstname domain---------------------------tony group1,group2,group3john group4 谢谢
解决方案 »
- sql server2000 avg函数 没有四舍五入问题
- 求一子查询将子查询结果作为最终结果集的字段名
- 当运行多个 SQL Server 实例时,应如何管理内存?
- 我怎么连接数据库老连接不上去呀,求前辈们指点一下,
- A表B表的字段結构完全相同,現要將B表的全部內容轉入A表,如何做最快最方便?
- SQL Server 是否可以控制客户端登录的ip地址?
- 数据查询问题 急
- 怎么达到这样的效果(SQL)
- 在执行存储过程时,我想在检查某个标志之后,抛出一个错误,然后不去执行下面的SQL语句,我不想使用If...Else...语句,请问如何在当前位置结束此存储过程?
- 求一个复杂的sql语句
- 安装SQL server 2000 遇到的问题
- 求一sql2000的语句,实现下面功能,鼓捣好几天了,期待大神出现!
if object_id('[tbl]') is not null drop table [tbl]
create table [tbl]([firstname] varchar(4),[domain] varchar(6))
insert [tbl]
select 'tony','group1' union all
select 'tony','group2' union all
select 'tony','group3' union all
select 'john','group4'SELECT * FROM (SELECT DISTINCT [firstname] FROM [tbl])A
OUTER APPLY(
SELECT [domain]= STUFF(REPLACE(REPLACE(
( SELECT [domain] FROM [tbl] N
WHERE [firstname] = A.[firstname]
FOR XML AUTO
), '<N domain="', ','), '"/>', ''), 1, 1, '')
)N
ORDER BY [domain]
/*
firstname domain
tony group1,group2,group3
john group4
*/
(
@firstname varchar(20)
)
RETURNS varchar(8000) AS
begin
declare @s varchar(2000)
set @s=''
select @s=isnull(@s+',','')+domain from tb3
where firstname=@firstname
--return stuff(@s,1,1,'')
return @s
end
GOselect firstname, dbo.F_Suff(firstname) as c
from tb3
group by firstname