当前位置: 代码迷 >> Sql Server >> 有没有什么函数可以不要子查询就实现下边效果
  详细解决方案

有没有什么函数可以不要子查询就实现下边效果

热度:37   发布时间:2016-04-24 09:42:03.0
有没有什么函数可以不用子查询就实现下边效果

------解决思路----------------------

CREATE TABLE tb(NAME NVARCHAR(30),[TYPE] NVARCHAR(30),value NVARCHAR(30))
go

insert INTO TB(name,[type],value)
SELECT '美国','特色','大兵' UNION ALL
SELECT '美国','文化','可乐' UNION all
SELECT '美国','饮食','肯德基' UNION ALL
SELECT '韩国','饮食','泡菜' UNION ALL
SELECT '韩国','文化','整容' UNION all
SELECT '日本','饮食','生鱼片' UNION ALL
SELECT '日本','文化','动漫'




CREATE FUNCTION dbo.f_str(@id nVARCHAR(10))
RETURNS varchar(8000)
AS
BEGIN
  DECLARE @r varchar(8000)
  SET @r = ''
  SELECT @r = @r + '
------解决思路----------------------
' + type+':'+value FROM tb WHERE name=@id
  RETURN STUFF(@r, 1, 1, '')
END
GO


SELECT DISTINCT name ,dbo.f_str(name) FROM tb

/*
name
韩国 饮食:泡菜
------解决思路----------------------
文化:整容
美国 特色:大兵
------解决思路----------------------
文化:可乐
------解决思路----------------------
饮食:肯德基
日本 饮食:生鱼片
------解决思路----------------------
文化:动漫*/
  相关解决方案