我有一个现有的视图,它返回以下格式的数据。
option_name product_id
XSMALL (2-6) 17854
SMALL (6-10) 17854
MEDIUM (10-14) 17854
LARGE 18232
基于向函数发送product_id,如何在逗号分隔的字段中返回如下格式的数据?
XSMALL (2-6)、SMALL (6-10)、MEDIUM (10-14)
我使用的是MS SQL2K5。
发布于 2010-02-10 09:23:58
您可以在SQL Server2005及更高版本中使用FOR XML PATH
:
CREATE FUNCTION dbo.GetProductNames(@ProductID int)
RETURNS TABLE
AS
SELECT
Options = SUBSTRING((
SELECT ', ' + o2.option_name
FROM options AS o2
WHERE o2.product_id = o1.product_id
FOR XML PATH('')), 3, 1000)
FROM options AS o1
WHERE o1.product_id = @ProductID
发布于 2010-02-10 15:12:32
**
声明@option_name varchar(1000) select @option_name = isnull( @option_name +',','') + option_name from tablename select @option_name
**
https://stackoverflow.com/questions/2233740
复制相似问题