1

我正在尝试将多行插入 wp_postmeta。我无法找出正确的 SQL 查询来实现它。我面临的问题是我当前的数据如下所示:

Col 1  | Col 2  | Col 3  | Col 4  | Col5
----------------------------------------
A      | B      | C      | D      | E
F      | G      | H      | I      | J

我需要像这样将它插入到 wp_postmeta 中:

Col 1  | Col 2  | Col 3  
-----------------------
A      | txt    | B
A      | txt    | C
A      | txt    | D
A      | txt    | E
F      | txt    | G
F      | txt    | H
F      | txt    | I
F      | txt    | J

“txt”数据不是问题,我只是想找出一种方法来“非规范化”源数据中的每一行并将其存储在另一个表的四个不同行中。

4

1 回答 1

0

您可以使用从列中获取数据并将其转换为行的查询来反透视数据:UNION ALL

select `col 1`, `col 2` as val
from yourtable
union all
select `col 1`, `col 3` as val
from yourtable
union all
select `col 1`, `col 4` as val
from yourtable
union all
select `col 1`, `col5` as val
from yourtable
order by 1

请参阅SQL Fiddle with Demo

将数据转换为这种格式后,您就可以INSERT将其放入另一个表中。

于 2013-02-22T19:34:22.520 回答