我想在另一列的帮助下在同一列中将2个结果相乘。我会尝试解释:
首先,让我介绍一下我使用的表:
TAB => wp_term_relationships
+-----------+------------------+
| object_id | term_taxonomy_id |
+-----------+------------------+
| 723 | 685 |
| 724 | 685 |
+--------------+---------------+
TAB => wp_woocommerce_order_itemmeta 注意:meta_id 400不属于术语“指称”
+---------+---------------+---------------+------------+
| meta_id | order_item_id | meta_key | meta_value |
+-------- +---------------+---------------+------------+
| 203 | 24 | _product_id | 723 |
| 204 | 24 | _product_cost | 79 |
| 205 | 24 | _qty | 5 |
| 355 | 56 | _product_id | 724 |
| 356 | 56 | _product_cost | 99 |
| 357 | 56 | _qty | 3 |
| 400 | 26 | _product_id | 1500 |
+---------+---------------+---------------+------------+
TAB => wp_woocommerce_order_items 注意:order_item_id 26不属于术语“指称” NB2:order_id 10(1&3)中的两个产品
+---------------+-----------------+------------------+----------+
| order_item_id | order_item_name | order_item_type | order_id |
+---------------+-----------------+------------------+----------+
| 24 | product 1 | line_item | 10 |
| 25 | delivery | shipping | 10 |
| 56 | product 3 | line_item | 10 |
| 26 | product 50 | line_item | 11 |
+---------------+-----------------+------------------+----------+
TAB => wp_posts
+-------------------+---------------------+
| ID | post_status | post_date |
+----+--------------+---------------------+
| 10 | wc-completed | 2018-09-25 23:04:52 |
| 11 | wc-suspend | 2017-09-25 23:04:52 |
| 15 | wc-completed | 2017-09-66 23:04:52 |
+-------------------+---------------------+
现在,按照我到目前为止所做的事情:
SELECT
COUNT( posts.ID ) AS count_orders,
SUM(order_meta_items_cost.meta_value * order_meta_items_qty.meta_value) AS total_sales
FROM wp_posts AS posts
LEFT JOIN wp_term_relationships AS rel ON rel.term_taxonomy_id = '685'
LEFT JOIN wp_woocommerce_order_itemmeta AS order_meta_items
ON order_meta_items.meta_value = rel.object_id
AND order_meta_items.meta_key LIKE '_product_id'
LEFT JOIN wp_woocommerce_order_items AS order_items
ON order_items.order_item_id = order_meta_items.order_item_id
AND order_items.order_item_type LIKE 'line_item'
INNER JOIN wp_woocommerce_order_items AS order_items_cost
ON order_items_cost.order_id = posts.ID
AND order_items.order_item_type LIKE 'line_item'
INNER JOIN wp_woocommerce_order_itemmeta AS order_meta_items_cost
ON order_meta_items_cost.order_item_id = order_items_cost.order_item_id
AND order_meta_items_cost.meta_key = '_wc_cog_item_cost'
INNER JOIN wp_woocommerce_order_itemmeta AS order_meta_items_qty
ON order_meta_items_qty.order_item_id = order_items_cost.order_item_id
AND order_meta_items_qty.meta_key = '_qty'
WHERE posts.ID = order_items.order_id
AND posts.post_status IN ('wc-completed')
AND UNIX_TIMESTAMP(CONVERT_TZ(posts.post_date, '+00:00', @@global.time_zone)) >= '1537747200'
AND UNIX_TIMESTAMP(CONVERT_TZ(posts.post_date, '+00:00', @@global.time_zone)) <= '1538351999'
我想要的结果
在此示例中,它将是: 仅完成订单10,因此我们将order_item_id保留为24和56。 现在,我们要按他的数量(一个订单中的产品数量)来确定产品价格
order_item_id 24 :
_product_cost = 79
_qty = 5
so 79*5 = 395
order_item_id 56 :
_product_cost = 99
qty = 3
so 99*3 = 297
** Right result in total_sales -> 395+297 = 692**
我尝试了很多组合,但是我不知道该怎么做。
你有什么主意吗?非常感谢你!
答案 0 :(得分:0)
此查询为您提供所需的总销售额。
n