一座城池

成功就是不懈的努力加上一点点机会,努力是加法,机会是乘法,两者兼备才会得到最大的结果!
当前位置 - 首页 - SQLServer - 把相同分类下的某个字段放到一列中,用逗号分开

把相同分类下的某个字段放到一列中,用逗号分开

2014/10/30 15:32:08  发表于:2014/10/30 15:32:08  SQLServer 次浏览 
字体大小切换:

IF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL 
    DROP TABLE #T
CREATE TABLE #T
    (A VARCHAR(100) ,B VARCHAR(100))
INSERT  INTO #T SELECT  Content ,Title FROM News WHERE   NewsId > 47 
DECLARE @i INT ,@max INT ,@sql VARCHAR(MAX)
SELECT TOP 1 @i = 1 ,@max = COUNT(*) FROM    #T GROUP BY A ORDER BY 2 DESC
--PRINT @max
WHILE @i <= @max 
    BEGIN    
        SET @sql = ISNULL(@sql + '+max(case i when ' + LTRIM(@i)
                          + ' then '',''+',
                          'max(case i when ' + LTRIM(@i) + ' then ')
            + 'B else '''' end)'  
        SET @i = @i + 1
    END
--PRINT @sql
EXEC ('select A, B='+@sql+' from (select *,i=(select count(1) from #T where A=a.A and B<=a.B) from #T a) t group by A')

结果:

关键字:
上一篇::亲,已经是第一篇了!

推荐阅读:

    同类下暂无推荐的资讯...

发表评论共有0访客发表了评论

    暂无评论,快来抢沙发吧!

我来说几句吧

验证码: 看不清楚?
Top