2014-07-08 28 views
0

目標是遷移與存儲在Wordpress表(本例中爲信用卡)中的產品定義相關的數據。使用Wordpress中的數據創建新表wp_postmeta表

這是我要遷移的數據的例子:

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

是否要複製現有的數據庫表? – Sadikhasan

回答

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 
相關問題