使用带有Unpivot的动态SQL替换列名

时间:2016-04-29 13:05:38

标签: sql sql-server

需要一些帮助。我整个上午一直在抨击我的头脑,并没有太大的进步。我一直在尝试做一些动态的Unpivots,但我对这个概念不熟悉并且不能让它发挥作用。

我有一个包含许多列的表,其中列的值根据表中的另一个字段具有不同的含义。可以通过连接第二个表来检查含义。 例如,主表就像

UniqueID    Trade_Type  date_parm01 date_parm02
1           A           27/04/2016  28/04/2016
2           A           27/04/2016  28/04/2016
3           B           27/04/2016  28/04/2016
4           B           27/04/2016  28/04/2016
5           B           27/04/2016  28/04/2016

列名解释表就像

Trade_Type  Column Name_Main_Table  Column_Name_NEW
A           date_parm01             Start_Date
A           date_parm02             End_Date
B           date_parm01             Other_Date
B           date_parm02             Other_Date2

我需要用解释表中的描述性名称替换主表中的非描述列名称

UniqueID    Trade_Type  Start_Date  End_Date    Other_Date  Other_Date2
1           A           27/04/2016  28/04/2016      
2           A           27/04/2016  28/04/2016      
3           B                                   27/04/2016  28/04/2016
4           B                                   27/04/2016  28/04/2016
5           B                                   27/04/2016  28/04/2016

该表有超过200列和70多种交易类型,因此这将使新表中的总列类似于14000

我需要一个select查询,一旦我在查询中指定了交易类型,它就会动态地仅选择适用于每种交易类型的列。

0 个答案:

没有答案