表P
字段ID,Name
表T
字段ID,pID,Value,pID对应P.ID
数据
1,1,'A'
1,2,'B'
1,3,'C'
...
2,1,'X'
2,3,'Y'如何返回
1,A,B,C...
2,X,null,Y...?
P记录数据个数可变.
字段ID,Name
表T
字段ID,pID,Value,pID对应P.ID
数据
1,1,'A'
1,2,'B'
1,3,'C'
...
2,1,'X'
2,3,'Y'如何返回
1,A,B,C...
2,X,null,Y...?
P记录数据个数可变.
--处理的数据
CREATE TABLE tb(col1 varchar(10),col2 int)
INSERT tb SELECT 'a',1
UNION ALL SELECT 'a',2
UNION ALL SELECT 'b',1
UNION ALL SELECT 'b',2
UNION ALL SELECT 'b',3
GO--合并处理函数
CREATE FUNCTION dbo.f_str(@col1 varchar(10))
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+','+CAST(col2 as varchar)
FROM tb
WHERE col1=@col1
RETURN(STUFF(@re,1,1,''))
END
GO--调用函数
SELECT col1,col2=dbo.f_str(col1) FROM tb GROUP BY col1
--删除测试
DROP TABLE tb
DROP FUNCTION f_str
/*--结果
col1 col2
---------- -----------
a 1,2
b 1,2,3
--*/
GO
ID=1 or ID=2 or ID=3 ?