【发布时间】:2021-02-03 17:22:13
【问题描述】:
我有一个带有自定义属性的订单项目列表,如下所示(废物类型和废物千克),我想计算每种废物类型的总千克数。我可以使用此代码访问每个订单的每个订单项
select
date(pp.post_date),
sum(CASE WHEN pm.meta_key = 'Kilogram' and p.order_item_id = pm.order_item_id THEN pm.meta_value END) as kilogram
from
wp_woocommerce_order_items as p,
wp_woocommerce_order_itemmeta as pm,
wp_posts as pp
where order_item_type = 'line_item' and
p.order_item_id = pm.order_item_id
select
date(pp.post_date),
sum(CASE WHEN pm.meta_key = 'Kilogram' and p.order_item_id = pm.order_item_id THEN pm.meta_value END) as kilogram
from
wp_woocommerce_order_items as p,
wp_woocommerce_order_itemmeta as pm,
wp_posts as pp
where order_item_type = 'line_item' and
p.order_item_id = pm.order_item_id
我需要能够汇总记录的废物类型的公斤数。
在 Woocommerce v3 API 中,订单项列在端点中,如图所示
[{
"id": 881,
"parent_id": 0,
"number": "881",
"order_key": "wc_order_144SFO7qf8uGd",
"created_via": "checkout",
"version": "4.2.0",
"status": "processing",
"currency": "ZAR",
"date_created": "2020-10-15T05:18:40",
"date_created_gmt": "2020-10-15T05:18:40",
"date_modified": "2020-10-15T05:18:40",
"date_modified_gmt": "2020-10-15T05:18:40",
"discount_total": "0.00",
"discount_tax": "0.00",
"shipping_total": "0.00",
"shipping_tax": "0.00",
"cart_tax": "0.00",
"total": "0.00",
"total_tax": "0.00",
"prices_include_tax": false,
"customer_id": 0,
"customer_ip_address": "41.114.213.221",
"customer_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36",
"customer_note": "",
"billing": {
"first_name": "",
"last_name": "",
"company": "",
"address_1": "",
"address_2": "",
"city": "",
"state": "",
"postcode": "",
"country": "",
"email": "",
"phone": ""
},
"shipping": {
"first_name": "",
"last_name": "",
"company": "",
"address_1": "",
"address_2": "",
"city": "",
"state": "",
"postcode": "",
"country": ""
},
"payment_method": "",
"payment_method_title": "",
"transaction_id": "",
"date_paid": "2020-10-15T05:18:40",
"date_paid_gmt": "2020-10-15T05:18:40",
"date_completed": null,
"date_completed_gmt": null,
"cart_hash": "c9761562118fcf129d83dd0c1c38f498",
"meta_data": [
{
"id": 5922,
"key": "is_vat_exempt",
"value": "no"
}
],
"line_items": [
{
"id": 34,
"name": "Log EA Dropoff",
"product_id": 213,
"variation_id": 0,
"quantity": 1,
"tax_class": "",
"subtotal": "0.00",
"subtotal_tax": "0.00",
"total": "0.00",
"total_tax": "0.00",
"taxes": [],
"meta_data": [],
"sku": "DRPF001",
"price": 0,
"Kilogram": "",
"key": {...}
}
],
"tax_lines": [],
"shipping_lines": [],
"fee_lines": [],
"coupon_lines": [],
"refunds": [],
"currency_symbol": "R",
"_links": {
"self": [
{
"href": "https://www.dashboard.kudoti.app/wp-json/wc/v3/orders/881"
}
],
"collection": [
{
"href": "https://www.dashboard.kudoti.app/wp-json/wc/v3/orders"
}
],
}
}]
,我希望能够根据废物类型计算公斤数,如下所示。我想查询mysql中的数据库得到这样的表。数据来自 WooCommerce 和 WordPress。
更新
基本上我需要做的是在 orderitemmeta 上的 Select 上进行 INNER JOIN 并对权重求和,如下所示
【问题讨论】:
标签: mysql woocommerce