mysql - 连接表 wp_postmeta 和 wp_woocommerce_order_items

标签 mysql sql wordpress woocommerce orders

我是 MySQL 的新手,但我仍然无法理解 JOIN 表。

我正在开一家在线商店,我需要生成所订购商品的电子邮件报告以及产品的一些自定义字段。

在我的数据库中,我的产品位于 wp_posts ,然后我在 wp_postmeta 中有自定义字段, 现在我想看看它在 wp_woocommerce_order_items 上的关系 table 。

谁能告诉我怎么做?

最佳答案

第一步是加入 wp_woocommerce_order_itemswp_woocommerce_order_itemsmeta 表,因为元表包含与产品的 匹配的元键 _product_id >post_id

像这样的东西应该可以工作(根据必填字段进行编辑):

SELECT orders.order_item_name, orders.qty, locator.meta_value AS 'locator', stock.meta_value AS 'stock' 
FROM wp_postmeta locator

JOIN ( 
    SELECT items.order_item_name AS 'order_item_name', qty.meta_value AS 'qty',  product_id.id AS 'id' 
    FROM `wp_woocommerce_order_itemmeta` qty
    JOIN (
        SELECT order_item_id, meta_id, meta_key, meta_value AS 'id'     
        FROM `wp_woocommerce_order_itemmeta` 
        WHERE meta_key = '_product_id' 
        ) AS product_id
    ON qty.order_item_id = product_id.order_item_id
    JOIN `wp_woocommerce_order_items` items
    ON product_id.order_item_id = items.order_item_id
    WHERE qty.meta_key = '_qty'
    ) AS orders
ON locator.post_id = orders.id

JOIN (
    SELECT post_id, meta_key, meta_value
    FROM wp_postmeta
    WHERE meta_key = '_stock'
    ) AS stock
ON locator.post_id = stock.post_id

WHERE locator.meta_key = '_locator';

关于mysql - 连接表 wp_postmeta 和 wp_woocommerce_order_items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49397696/

相关文章:

java - 如何使用 spring 和 hibernate 从 mysql 获取图像列表

java - Android SQLLiteDataBase 游标返回 0 行

php - 此站点似乎有未经授权的尝试访问您位于以下位置的数据库:

php - 获取具有重复项计数的自定义分类术语

php - 我试图杀死侧边栏,但我不能 - wordpress

php - 使用 PHP 填充表的最有效方法是什么?

php - 没有错误,但页面仍然空白并传递变量

mysql触发器操作数应包含2列

sql - 创建在列的特定值上重置的排名

java - 删除数据库插入的冗余