我是初学者用户,并具有一些SQL的基本知识。我必须编写一个查询来从表中选择记录并插入到另一个表中。我的TABLE1有近180 +列和TABLE2只有6列。在TABLE2中,前4列是静态的,将直接来自TABLE1。 TABLE2中的其他2列是动态的。它们将由来自TABLE1的列名称和列值的180列以上的每列填充。让我来解释这一点使用结构,如果它不是很清楚:从另一个查询插入记录
>T1:
>===
>Col1, Col2, Col3, Col4, Col5,..........,Col175, Col176, Col177, Col178, Col179, Col180
>
>T2:
>===
>Col1, Col2, Col3, Col4, NewCol1, NewCol2
所以我想查询从T1选择记录并将其插入到T2,使得
T2.Col1 = T1.Col1
塔
T2.Col2 = T1.Col2
T2.Col3 = T1.Col3
T2.Col4 = T1.Col4
T2.NewCol1 = COLUMN_NAME从T1(即COL5,COL6,COL7 ... Col180)
T2.NewCol2 = Column_Value我们正存储在T2.NewCol2
下面是样品:
T1:
Col1中| Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 | Col9 | Col10 | Col11 | Col12
Val1 | Val2 | Val3 | Val4 | Val5 | Val6 | Val7 | Val8 | Val9 | Val10 | Val11 | Val12
T2:
Col1 | Col2 | Col3 | Col4 | Col5 | Col6
Val1 | Val2 | Val3 | Val4 | Col5 | Val5
Val1 | Val2 | Val3 | Val4 | Col6 | Val6
Val1 | Val2 | Val3 | Val4 | Col7 | Val7
Val1 | Val2 | Val3 | Val4 | Col8 | Val8
Val1 | Val2 | Val3 | Val4 | Col9 | Val9
。
。
Val1 | Val2 | Val3 | Val4 | Col12 | Val12
我想在单个动态查询中实现此目的。格式化的道歉,如果有什么不明确的。请让我知道你是否需要任何东西。
谢谢, Sanjay
表中的180列?这是不对的。 –
嗨Deve,其实数据是在我们必须处理和加载在表中的文件中。 –