- 爱易网页
-
ASP.NET教程
- 一个高手才能做出的题!1
日期:2014-05-19 浏览次数:20379 次
一个高手才能做出的题!!!高手进!!1
表1 结果表
id name id name
1 A 1 ABC
1 B 2 H
2 H 3 CD
3 CD
1 C
请问这题怎么实现啊。让ID为1的后面的name全部相加变成ABC
怎么做啊。
急啊!!!!
------解决方案--------------------
create table #t
(
[id ] int,
[va] varchar(1)
)
insert into #t
select 1, 'a '
union
select 1, 'b '
union
select 1, 'c '
declare @vv varchar(1000)
set @vv= ' '
select @vv = @vv + va from #t where [id] = 1
select @vv
drop table #t
------解决方案--------------------
id name
01 小张
01 小王
02 小王
02 小陈
请问怎样变成
id name
01 小张;小王
02 小王;小陈
--建立测试环境
Create Table TEST
(ID Varchar(10),
Name Nvarchar(10))
Insert TEST Values( '01 ', N '小张 ')
Insert TEST Values( '01 ', N '小王 ')
Insert TEST Values( '02 ', N '小王 ')
Insert TEST Values( '02 ', N '小陈 ')
GO
--建立函数
Create Function GetName(@ID Int)
Returns Nvarchar(2000)
As
Begin
Declare @S Nvarchar(2000)
Set @S= ' '
Select @S=@S+ '; '+Name from TEST Where ID=@ID Order By Name
Return (Stuff(@S,1,1, ' '))
End
GO
--测试
Select ID,dbo.GetName(ID) As Name from TEST Group By ID
--删除测试环境
Drop Table TEST
Drop Function GetName
GO
--结果
/*
ID Name
01 小张;小王
02 小王;小陈
*/
,关于日期字段的有关问题