CREATE FUNCTION [dbo].[FN_GetProductsByGroup]
(
@GroupId int
)
RETURNS [nvarchar](4000)
AS
BEGIN
DECLARE @ReturnValue [nvarchar](1000)
SET @ReturnValue = ''
SELECT @ReturnValue=@ReturnValue + RTRIM(LTRIM(PRODUCT_ID)) + ','
FROM T_DEMO
WHERE GROUP_ID = @GroupId
SET @ReturnValue = substring(@ReturnValue,1,len(@ReturnValue)-1)
RETURN @ReturnValue
END
然后查询语句这样写:
SELECT GROUP_ID, [dbo].[FN_GetProductsByGroup](GROUP_ID) As PRODUCTS
FROM T_DEMO
GROUP BY GROUP_ID
查询结果如下图所示:
在Sql Server中,不知道有没有哪位大侠能否只用纯SELECT语句实现出来,不使用函数和存储过程。