22,210
社区成员
发帖
与我相关
我的任务
分享
DECLARE @TA TABLE(a1 INT)
INSERT @TA
SELECT 1 UNION ALL
SELECT 2
DECLARE @TB TABLE(a1 INT ,a2 VARCHAR(2))
INSERT @TB
SELECT 1, 'a' UNION ALL
SELECT 1, 'b' UNION ALL
SELECT 2, 'x' UNION ALL
SELECT 2, 'y' UNION ALL
SELECT 2, 'z'
SELECT A.a1,B.a2 as C INTO TB
FROM @TA AS A JOIN @TB AS B ON A.a1=B.a1
GO
CREATE FUNCTION GetString(@a int)
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @SQL VARCHAR(100)
SET @SQL=''
SELECT @SQL=@SQL+C FROM TB WHERE a1=@a
RETURN @SQL
END
GO
SELECT a1,a2=dbo.GetString(a1) FROM TB GROUP BY a1
--合并就可以了。
create function g_fs(@a1 int)
returns varchar(100)
as
begin
declare @sql varchar(100)
select @sql=isnull(@sql+'','')+ a2 from a where a1 =@a1
return @sql
end
go
select distinct a1,a2=dbo.g_fs(a1) from a