【发布时间】:2018-11-07 23:49:21
【问题描述】:
我在表 Table1 中有一条记录,我想将该记录拆分为两行并插入到另一个表 Table2 中。
表1
ID Date User value
1 29/05/18 XXX X_ID||X_value||22||xx
2 29/05/18 YYY Y_ID||Y_value||33|yy
我希望将 table1 值插入到 table2 中
表2
P_ID ID Date User Field Value
1 1 29/05/18 XXX X_ID 22
2 1 29/05/18 XXX X_Value XX
3 2 29/05/18 YYY Y_ID 33
4 3 29/05/18 YYY Y_Value YY
table1 中的值是 table2 中的字段,没有什么可以硬编码,因为我在 table1 中有很多记录。 编辑:如果表 1 中的值具有更多值,例如 X_ID||X_VALUE||Y_ID||Y_Value||22||xx||33||yy,该怎么办?如何使此查询动态化,以便无论输出如何,它都会将 table2 不同行中的记录分开
【问题讨论】:
-
Table1的记录中是否有可能多于或少于2个(字段,值)或者值列的格式是否固定?
-
创建一个包含 2 个“虚拟”行的临时表,与临时表连接,为每个虚拟行选择正确的列。或者使用联合选择两次
-
这完全取决于你,但你为什么要把它分成两个行,而不是两个列,比如(ID、日期、用户, X, Y)?
-
我在问,因为你的表 2 看起来有点像EAV
-
这是需要的@wolφi