目标是迁移与存储在Wordpress表(在本例中为信用卡)中的产品定义相关的数据。
以下是我要迁移的数据示例:
SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id = 366;
+-----------------+------------------------------------+
| meta_key | meta_value |
+-----------------+------------------------------------+
| Name | Santos Futebol Clube International |
| Issuer | Bradesco Banco |
| Issuer_Subtype | Bradesco |
+-----------------+------------------------------------+
还有更多字段,但我只是举例说明其中的三个字段。 还有许多产品(每个帖子代表一个项目)。
我想将这些数据迁移到具有以下结构的表中:
DESCRIBE card;
+-----------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| issuer | varchar(255) | YES | | NULL | |
| issuer_subtype | varchar(255) | YES | | NULL | |
+-----------------------+--------------+------+-----+---------+----------------+
由于表示每个项目的Wordpress表中的数据位于不同的行中,因此我在试图掌握如何进行查询以解决此问题时遇到了问题。
有什么建议吗?
答案 0 :(得分:1)
按每个post_id
分组。然后,您可以根据案例选择meta_value
作为您喜欢的密钥。您必须使用聚合函数。我选择了max()
,但这没关系。
select post_id,
max(case when meta_key = 'Name' then meta_value end) as Name,
max(case when meta_key = 'Issuer' then meta_value end) as Issuer,
max(case when meta_key = 'Issuer_Subtype' then meta_value end) as Subtype
FROM wp_postmeta
group by post_id