需要关于多支点的帮助

Posted

技术标签:

【中文标题】需要关于多支点的帮助【英文标题】:Need Help about multiple pivot 【发布时间】:2017-11-27 02:48:59 【问题描述】:

我需要从以下数据中获取pivot 数据:

AssetNo  EffectiveDate     Schedule         Interval
AIRT01      2017-11-23      2017-11-23  
AIRT01      2017-11-23      2017-12-23  
AIRT01      2017-11-23      2018-01-23  
AIRT01      2017-11-23      2018-02-23          3M
AIRT01      2017-11-23      2018-03-23  
AIRT01      2017-11-23      2018-04-23  
AIRT01      2017-11-23      2018-05-23          3M, 6M
AIRT01      2017-11-23      2018-06-23  
AIRT01      2017-11-23      2018-07-23  
AIRT01      2017-11-23      2018-08-23          3M
AIRT01      2017-11-23      2018-09-23  
AIRT01      2017-11-23      2018-10-23  
AIRT01      2017-11-23      2018-11-23          3M, 6M, 1Y

需要这样的输出:

    AssetNo EffectiveDate Nov-2017 Dec-2017 Jan-2018 Feb-2018 ... May-2018 ... Nov-2018
    AIRT01    2017-11-23                                3M         3M, 6M     3M, 6M, 1Y

是否有可能获得多个pivot(用于计划和间隔)?

【问题讨论】:

【参考方案1】:

试试这个答案:

DECLARE @cols NVARCHAR(MAX), @query NVARCHAR(MAX);
SET @cols = STUFF(
                 (
                     SELECT DISTINCT 
                            ','+QUOTENAME(RIGHT(CONVERT(VARCHAR, c.Schedule,113),8))
                            --','+QUOTENAME(c.Schedule)
                     FROM MyTab c FOR XML PATH(''), TYPE
                 ).value('.', 'nvarchar(max)'), 1, 1, '');
SET @query = 'SELECT [AssetNo],EffectiveDate, '+@cols+'from (SELECT 
           [AssetNo],
           EffectiveDate,
           [Interval] AS [amount],
           RIGHT(CONVERT(VARCHAR, Schedule,113),8) AS [category]
    FROM MyTab
    )x pivot (max(amount) for category in ('+@cols+')) p';
EXECUTE (@query);

希望对你有所帮助。

输出

AssetNo EffectiveDate Nov 2017 Dec 2017 Jan 2018 Feb 2018 ... May 2018 ... Nov 2018
AIRT01    2017-11-23                                3M         3M, 6M     3M, 6M, 1Y

【讨论】:

可以在@cols 中设置顺序吗?因为按字母顺序的输出从 apr 到 sept 开始?

以上是关于需要关于多支点的帮助的主要内容,如果未能解决你的问题,请参考以下文章

需要关于编号顺序的帮助

需要一些关于 Elasticsearch 引擎和 react js 的帮助

请教两个关于solidedge问题(多实体与图纸分页)

需要关于 Sql 递归查询的帮助

关于内容传递的想法。需要帮助

关于 HTML5canvas div 图片单独下载