我如何从值列表中创建表?

时间:2015-09-21 08:33:33

标签: sql sql-server performance tsql stored-procedures

我的工作非常辛苦,我不知道如何在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
.
..
...
-----------------------------------------------------------------

然后,从那个表中,我想创建一个名为TEMT_TABLE列的TableToBeCreated表,如下所示:

1)表STAGIN_MEAA:

------------------------------------------
D_Product     D_Store     ME_AA    ME_AA1 ...... ME_AAx
------------------------------------------

ME_AA列的数据类型必须与列#34; Column_Type"相同。来自TEMP_TABLE。

2)表STAGIN_MEBB:

------------------------------------------
D_Product     D_Store     D_Store    ME_BB     ME_BB1 ...... MEBBx 
------------------------------------------

ME_AA列的数据类型必须与列#34; Column_Type"相同。来自TEMP_TABLE。

如何生成用于创建此ME_表的代码?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是脚本。我省略了"措施"柱。我测试了它。由于您使用的SQL Server,您可以更改脚本。

line                                                                                                 
----                                                                                                 
create table STAGIN_MEAA(                                                                            
  D_Product [decimal](19,6)                                                                          
 ,D_Store [decimal](19,6)                                                                            
 ,D_Product [decimal](19,6)                                                                          
 ,D_Store [decimal](19,6)                                                                            
) 
go                                                                                               
create table STAGIN_MEBB(                                                                            
  D_Product [decimal](19,6)                                                                          
 ,D_Store [decimal](19,6)                                                                            
 ,D_Time [decimal](19,6)                                                                             
 ,D_Product [decimal](19,6)                                                                          
 ,D_Store [decimal](19,6)                                                                            
 ,D_Time [decimal](19,6)                                                                             
)                                                                                                    
go                                                                                                   

结果:

<select> 
   <option>Los angeles </option>
   <option>California</option>
   <option>New yourk</option>
</select>

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d423284.5905135276!2d-118.41173249999996!3d34.020498899999986!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x80c2c75ddc27da13%3A0xe22fdf6f254608f4!2sLos+Angeles%2C+CA%2C+USA!5e0!3m2!1sen!2s!4v1442834158072" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>