首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何订购UNPIVOT

如何订购UNPIVOT
EN

Stack Overflow用户
提问于 2015-11-10 16:57:24
回答 1查看 1.4K关注 0票数 1

我有以下UNPIVOT代码,我希望通过FactSheetSummary列对其进行排序,以便当它转换为行时,它是1-12顺序:

代码语言:javascript
复制
INSERT INTO #Results
SELECT DISTINCT ReportingDate, PortfolioID,ISIN, PortfolioNme, Section,REPLACE(REPLACE(Risks,'‘',''''),'’','''')
FROM  
(SELECT  DISTINCT
            ReportingDate
        ,   PortfolioID
        ,   ISIN
        ,   PortfolioNme
        ,   Section
        ,   FactSheetSummary_1, FactSheetSummary_2, FactSheetSummary_3
        ,   FactSheetSummary_4, FactSheetSummary_5, FactSheetSummary_6  
        ,   FactSheetSummary_7, FactSheetSummary_8, FactSheetSummary_9  
        ,   FactSheetSummary_10, FactSheetSummary_11, FactSheetSummary_12   
  FROM #WorkingTableFactsheet) p
UNPIVOT
(Risks FOR FactsheetSummary IN 
    (   FactSheetSummary_1, FactSheetSummary_2, FactSheetSummary_3
        ,   FactSheetSummary_4, FactSheetSummary_5, FactSheetSummary_6  
        ,   FactSheetSummary_7, FactSheetSummary_8, FactSheetSummary_9  
        ,   FactSheetSummary_10, FactSheetSummary_11, FactSheetSummary_12)
 )AS unpvt;

--DELETE records where there are no Risk Narratives
DELETE FROM #Results
WHERE Risks = ''

SELECT 
ReportingDate
,   PortfolioID
,   ISIN
,   PortfolioNme
,   Section
,   Risks   
,   ROW_NUMBER() OVER(PARTITION BY ISIN,Section ORDER BY ISIN,Section,Risks) as SortOrder
FROM #Results
order by ISIN,  Risks

有可能这样做吗?我以为UNPIVOT的情报部门会命令你?我是否需要添加一个列来规定我想要的是1到12?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-10 17:05:40

只需用用例表达式来排序:

代码语言:javascript
复制
order by case FactsheetSummary  
          when 'FactSheetSummary_1' then 1
          when 'FactSheetSummary_2' then 2
          when 'FactSheetSummary_12' then 12 end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33635394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档