我正在使用sql查询获取产品的\u sku。这是我的问题。但我的回答是空的。有人能指出我遗漏了什么吗?基本上使用这种方式,我可以得到任何产品元与订单细节。
select
p.ID as order_id,
p.post_date,
max( CASE WHEN pm.meta_key = '_billing_email' and p.ID = pm.post_id THEN pm.meta_value END ) as billing_email,
max( CASE WHEN oim.meta_key = '_product_id' and oim.order_item_id = oi.order_item_id THEN oim.meta_value END ) as product_id,
max( CASE WHEN pm.meta_key = '_sku' and p.ID = oim.meta_value THEN pm.meta_value END ) as sku,
( select group_concat( order_item_name separator '|' ) from wp_woocommerce_order_items where order_id = p.ID ) as order_items
from
wp_posts p
join wp_postmeta pm on p.ID = pm.post_id
join wp_woocommerce_order_items oi on p.ID = oi.order_id
join wp_woocommerce_order_itemmeta oim on oim.order_item_id = oi.order_item_id
group by
p.ID
2条答案
按热度按时间mv1qrgav1#
这对我来说太复杂了。我不知道你想做什么。
如果数据库不是非常庞大(超过10万篇文章),那么您可能不需要为此编写一个简短的脚本。
或者,如果您必须留在数据库中,请将命令分为三部分。
让第一部分将结果插入到新表中的新表中。
然后从他们的身体做其他部分。
xtfmy6hx2#
我已经处理了查询并找到了答案,我为post meta添加了另一个连接,它没有连接到order id的post meta,所以我需要单独的连接来获取产品meta。所以我就是这么做的。用这种方法你可以得到所有购买产品的元。