0
如何在每个meta_key是列的表中处理meta_key,meta_value对?MySQL Wordpress从meta_value提取数据
背景:我需要为每次在Learnpress(Wordpress Plugin)中购买的付款方式,数量以及在两个日期之间付款的用户获得付款。
Learnpress将购买内容保存为帖子,并将每笔购买的属性保存为wp_postmeta中的meta_key,meta_value对。如果wp_postmeta曾在不同的列不同的属性,我可以做这样的事情:
SELECT attribute1, attribute2, attribute3 FROM wp_postmeta, wp_posts
WHERE wp_postmeta.post_id = wp_posts.ID;
然而,每个岗位有wp_postmeta N行,每一行对应一个属性。数据如何加入,以便我可以得到一个表格,其中一行包含每篇文章的所有属性?
例子:
wp_post表
ID (Other Columns)
1
2
3
wp_postmeta table:
ID post_id meta_key meta_value
1 1 user testuser1
2 1 payment_method paypal
3 1 quantity 25
(Other rows, with the same post_id, one for each attribute of this purchase)
4 2 user testuser2
5 2 payment_method credit_card
6 2 quantity 50
Desired Result:
Post_ID user payment_method quantity (Other attributes)
1 testuser1 paypal 25
2 testuser2 credit_card 50
注:有些职位与他们有比别人更多的相关行postmeta。如果帖子在postmeta中没有属性,它应该在最终表中为null。
这样的事情可以如何完成? 在此先感谢。
工程就像一个魅力。我调整了这个查询来创建一个具有所需meta_key属性的临时表,然后将它与其他表连接起来。谢谢! – Raul
@Raul。好。临时桌子很好,但没有必要;子查询也可以工作。 – Strawberry