【发布时间】:2015-12-17 21:13:40
【问题描述】:
我的工作真的很辛苦,但我不知道如何在 T-SQL (SQL Server) 中实现它。
我有一个这样的表 (TEMP_TABLE):
-------------------------------------------------------------
Measure Column_Name Column_Type TableToBeCreated
-------------------------------------------------------------
ME_AA D_Product [decimal](19,6) STAGIN_MEAA
ME_AA D_Store [decimal](19,6) STAGIN_MEAA
ME_AA1 D_Product [decimal](19,6) STAGIN_MEAA
ME_AA1 D_Store [decimal](19,6) STAGIN_MEAA
ME_BB D_Product [decimal](19,6) STAGIN_MEBB
ME_BB D_Store [decimal](19,6) STAGIN_MEBB
ME_BB D_Time [decimal](19,6) STAGIN_MEBB
ME_BB1 D_Product [decimal](19,6) STAGIN_MEBB
ME_BB1 D_Store [decimal](19,6) STAGIN_MEBB
ME_BB1 D_Time [decimal](19,6) STAGIN_MEBB
.
..
...
-----------------------------------------------------------------
然后,从该表中,我想从 TEMP_TABLE 创建一个名为 TableToBeCreated 列的表,如下所示:
1) 表 STAGIN_MEAA:
------------------------------------------
D_Product D_Store ME_AA ME_AA1 ...... ME_AAx
------------------------------------------
ME_AA 列的数据类型必须与 TEMP_TABLE 中的“Column_Type”列相同。
2) 表 STAGIN_MEBB:
------------------------------------------
D_Product D_Store D_Store ME_BB ME_BB1 ...... MEBBx
------------------------------------------
ME_AA 列的数据类型必须与 TEMP_TABLE 中的“Column_Type”列相同。
如何生成用于创建此 ME_ 表的代码?
谢谢!
【问题讨论】:
-
研究使用 Pivot。
-
Sorry about the "2) Table STAGIN_MEBB:",有错误,表应该是这样的:-------- ---------------------- D_Product D_Store D_Time ME_BB ME_BB1 ...... MEBBx ---------------- --------------------------
-
您能否将所需的 STAGIN_MEAA 脚本添加到问题中?我无法获取 Measure 列...
-
我想要一个像这样的脚本:CREATE TABLE STAGIN_MEAA (D_PRODUCT BIGINT, D_STORE BIGINT, ME_AA [decimal](19,6), ME_AA1 [decimal](19,6), .. ... ME_AAX [十进制](19,6) )
-
如果 ME_AA 也是要创建的列,为什么不将这些作为“D_Product”之类的行提供?因为这种结构很难处理
标签: sql sql-server performance tsql stored-procedures