mysql - 使用 Wordpress wp_postmeta 表中的数据创建新表

标签 mysql sql wordpress dbmigrate database-metadata

目标是迁移与存储在 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 表中代表每个项目的数据位于不同的行中,因此我在尝试掌握如何进行可实现此目的的查询时遇到问题。

有什么建议吗?

最佳答案

按每个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 

关于mysql - 使用 Wordpress wp_postmeta 表中的数据创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24630170/

相关文章:

SQL 通过 ADO 在 Delphi 中返回值

html - 将 Aria-hidden 更改为 "false"

php - WooCommerce 结帐单选按钮,根据特定项目小计设置百分比费用

mysql - 有没有办法组合这两个 MySQL 语句?

mysql - 将两个表中的值按月求和

sql - 范围扫描 vs 唯一扫描 vs 跳过扫描

php - WordPress:移动多站点会导致建立数据库连接时出错

php - WordPress SQL 查询来搜索和替换字符串

mysql - 在有限的情况下使用 REGEXP 将空格更改为连字符

mysql - 将 mysql 查询转换为 postgres 时出错