Добавить новый столбец в запросе Dynami c - PullRequest
0 голосов
/ 18 марта 2020

Это динамический запрос c, который отображается в виде таблицы. Но я хочу объявить столбец в этом запросе как «заголовок» в качестве идентификатора. Ниже приведен динамический запрос c:

SELECT [YR_4]
    ,[YR_3]
    ,[YR_2]
    ,[YR_1]
FROM (
    SELECT CASE 
            WHEN yr = 9999
                THEN 'A Medians'
            ELSE cast(yr AS VARCHAR(10))
            END AS yr
        ,yrdes
    FROM #years2
    ) AS t
PIVOT(MAX(yr) FOR yrdes IN (
            [YR_4]
            ,[YR_3]
            ,[YR_2]
            ,[YR_1]
            )) t1

Может ли кто-нибудь помочь мне добавить столбец с жестко заданным значением в приведенном выше запросе?

Ответы [ 2 ]

0 голосов
/ 18 марта 2020

Вы, кажется, хотите подзапрос:

select 'header' as custom_col, t.*
from ( <dynamic query> 
     ) t;

Вы также можете использовать временную таблицу:

SELECT [YR_4, [YR_3], [YR_2], [YR_1] INTO #Temptable
FROM (SELECT CASE WHEN yr = 9999
                  THEN 'A Medians'
                  ELSE cast(yr AS VARCHAR(10))
             END AS yr, yrdes
      FROM #years2
     ) AS t
     PIVOT ( MAX(yr) FOR yrdes IN ([YR_4], [YR_3], [YR_2], [YR_1] )
     ) t1;
0 голосов
/ 18 марта 2020

У вас может быть дополнительный столбец с жестко заданным значением, как указано ниже:

SELECT [YR_4]
    ,[YR_3]
    ,[YR_2]
    ,[YR_1]
    ,'Hardcoded_value' AS AdditionalColum -- Code change here
FROM (
    SELECT CASE 
            WHEN yr = 9999
                THEN 'A Medians'
            ELSE cast(yr AS VARCHAR(10))
            END AS yr
        ,yrdes
    FROM #years2
    ) AS t
PIVOT(MAX(yr) FOR yrdes IN (
            [YR_4]
            ,[YR_3]
            ,[YR_2]
            ,[YR_1]
            )) t1
...