SQL查询以下载woocommerce中的订单报告

珠子

请帮助完成此操作。我需要以csv格式下载woocommerce的订单报告,为此,我进行了以下查询:

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');
fputcsv($output, array('ID', 'Date', 'Status','Name'));
$rows = mysql_query('SELECT ID,post_date,post_status,post_name FROM wp_posts WHERE post_date LIKE "%2016-03-30%"');

while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);

这只是一条线索,在这里,我仅从发布表中获取数据。

但是我需要连接到postmeta和其他表,以便我可以获得有关订单的所有信息。
通过在互联网上搜索,我得到了以下代码,但是我不知道如何将其与我的代码集成。
请参阅查询以获取所有订单详细信息:

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 pm.meta_key = '_billing_first_name' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_first_name,
    max( CASE WHEN pm.meta_key = '_billing_last_name' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_last_name,
    max( CASE WHEN pm.meta_key = '_billing_address_1' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_address_1,
    max( CASE WHEN pm.meta_key = '_billing_address_2' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_address_2,
    max( CASE WHEN pm.meta_key = '_billing_city' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_city,
    max( CASE WHEN pm.meta_key = '_billing_state' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_state,
    max( CASE WHEN pm.meta_key = '_billing_postcode' and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_postcode,
    max( CASE WHEN pm.meta_key = '_shipping_first_name' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_first_name,
    max( CASE WHEN pm.meta_key = '_shipping_last_name' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_last_name,
    max( CASE WHEN pm.meta_key = '_shipping_address_1' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_address_1,
    max( CASE WHEN pm.meta_key = '_shipping_address_2' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_address_2,
    max( CASE WHEN pm.meta_key = '_shipping_city' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_city,
    max( CASE WHEN pm.meta_key = '_shipping_state' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_state,
    max( CASE WHEN pm.meta_key = '_shipping_postcode' and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_postcode,
    max( CASE WHEN pm.meta_key = '_order_total' and p.ID = pm.post_id THEN pm.meta_value END ) as order_total,
    max( CASE WHEN pm.meta_key = '_order_tax' and p.ID = pm.post_id THEN pm.meta_value END ) as order_tax,
    max( CASE WHEN pm.meta_key = '_paid_date' and p.ID = pm.post_id THEN pm.meta_value END ) as paid_date,
    ( select group_concat( order_item_name separator '|' ) from wp_woocommerce_order_items where order_id = p.ID ) as order_items
from
    wp_posts as p,
    wp_postmeta as pm
where
    post_type = 'shop_order' and
    p.ID = pm.post_id and
    post_date BETWEEN '2015-01-01' AND '2015-07-08'
    and post_status = 'wc-completed'
group by
    p.ID

请帮助完成此操作,还是有什么比这更好的方法了?
我不想使用插件。
目前,我有一个插件,但是运行缓慢,这就是为什么我要创建此页面。

请帮忙解决这个问题。

楚加迪

在我自己的博客文章中,这是SQL从EAV样式表布局中提取信息的格式。

$reportQuery = "
SELECT
  A.ID as order_id
, B.meta_value as b_first_name
, C.meta_value as b_last_name
, D.meta_value as b_address_1
, E.meta_value as b_address_2
, F.meta_value as b_country
, G.meta_value as b_state
, H.meta_value as b_city
, I.meta_value as b_postcode
, J.meta_value as b_user_id
, K.user_email as b_email

FROM wp_posts as A
LEFT JOIN wp_postmeta B 
  ON A.id = B.post_id AND B.meta_key = '_billing_first_name'

LEFT JOIN wp_postmeta C
  ON A.id = C.post_id AND C.meta_key = '_billing_last_name'

LEFT JOIN wp_postmeta D
  ON A.id = D.post_id AND D.meta_key = '_billing_address_1'

LEFT JOIN wp_postmeta E
  ON A.id = E.post_id AND E.meta_key = '_billing_address_2'

LEFT JOIN wp_postmeta F
  ON A.id = F.post_id AND F.meta_key = '_billing_country'

LEFT JOIN wp_postmeta G
  ON A.id = G.post_id AND G.meta_key = '_billing_state'

LEFT JOIN wp_postmeta H
  ON A.id = H.post_id AND H.meta_key = '_billing_city'

LEFT JOIN wp_postmeta I
  ON A.id = I.post_id AND I.meta_key = '_billing_postcode'

LEFT JOIN wp_postmeta J
  ON A.id = J.post_id AND J.meta_key = '_customer_user'

LEFT JOIN wp_users K
  ON J.meta_value = K.ID

WHERE A.post_type = 'shop_order'
AND   A.post_status = 'wc-completed';
AND   A.post_date_gmt >= DATE_SUB(NOW(), INTERVAL 1 DAY)
";

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=woocommerce-'.date('Y-m-d').'.csv');

// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');
$rows = mysql_query($reportQuery);

while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);
fclose($output);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用我的sql查询删除woocommerce中已完成的订单

来自分类Dev

在 Woocommerce 订单编辑页面中删除下载元框

来自分类Dev

SQL查询检索按状态分组的WooCommerce订单

来自分类Dev

我的SQL订单中的错误查询

来自分类Dev

SQL查询最近的订单

来自分类Dev

如何更改WooCommerce订单中可下载项目的到期日期?

来自分类Dev

在Sqlite中的以下查询中重用SQL查询的结果

来自分类Dev

在Sqlite中的以下查询中重用SQL查询的结果

来自分类Dev

SQL查询以获取订单数,下载应用程序并以优化方式注册

来自分类Dev

SQL 计数报告查询

来自分类Dev

如何在SQL Server 2008查询中显示订单履行

来自分类Dev

SQL查询以计算特定年份中的> 2个订单

来自分类Dev

如何在SQL查询中添加订单

来自分类Dev

SQL ROW子查询中的比较的订单定义?

来自分类Dev

用于检索WooCommerce订单项和元数据的SQL Select查询

来自分类Dev

sql查询以下语句?

来自分类Dev

SQL查询MySQL中的旧的试用余额报告

来自分类Dev

WooCommerce,如何删除可下载产品的订单权限

来自分类Dev

我正在尝试获取过去“N”个月的订单。在以下查询中,我需要动态设置几个月的值

来自分类Dev

为什么以下php中的sql查询无法正常工作?

来自分类Dev

在SQL中以下查询有什么问题

来自分类Dev

在以下SQL查询中何时计算NULL

来自分类Dev

如何转换以下SQL查询以在实体框架中运行?

来自分类Dev

如何在es中实现以下sql查询?

来自分类Dev

SQL 查询帮助 - 否定报告

来自分类Dev

在Woocommerce中以编程方式创建包含订单项的订单

来自分类Dev

Woocommerce:订单项未显示在订单电子邮件中

来自分类Dev

在WooCommerce中创建订单时获取订单商品的库存状态

来自分类Dev

如何根据状态隐藏 Woocommerce 订单列表中的订单

Related 相关文章

  1. 1

    如何使用我的sql查询删除woocommerce中已完成的订单

  2. 2

    在 Woocommerce 订单编辑页面中删除下载元框

  3. 3

    SQL查询检索按状态分组的WooCommerce订单

  4. 4

    我的SQL订单中的错误查询

  5. 5

    SQL查询最近的订单

  6. 6

    如何更改WooCommerce订单中可下载项目的到期日期?

  7. 7

    在Sqlite中的以下查询中重用SQL查询的结果

  8. 8

    在Sqlite中的以下查询中重用SQL查询的结果

  9. 9

    SQL查询以获取订单数,下载应用程序并以优化方式注册

  10. 10

    SQL 计数报告查询

  11. 11

    如何在SQL Server 2008查询中显示订单履行

  12. 12

    SQL查询以计算特定年份中的> 2个订单

  13. 13

    如何在SQL查询中添加订单

  14. 14

    SQL ROW子查询中的比较的订单定义?

  15. 15

    用于检索WooCommerce订单项和元数据的SQL Select查询

  16. 16

    sql查询以下语句?

  17. 17

    SQL查询MySQL中的旧的试用余额报告

  18. 18

    WooCommerce,如何删除可下载产品的订单权限

  19. 19

    我正在尝试获取过去“N”个月的订单。在以下查询中,我需要动态设置几个月的值

  20. 20

    为什么以下php中的sql查询无法正常工作?

  21. 21

    在SQL中以下查询有什么问题

  22. 22

    在以下SQL查询中何时计算NULL

  23. 23

    如何转换以下SQL查询以在实体框架中运行?

  24. 24

    如何在es中实现以下sql查询?

  25. 25

    SQL 查询帮助 - 否定报告

  26. 26

    在Woocommerce中以编程方式创建包含订单项的订单

  27. 27

    Woocommerce:订单项未显示在订单电子邮件中

  28. 28

    在WooCommerce中创建订单时获取订单商品的库存状态

  29. 29

    如何根据状态隐藏 Woocommerce 订单列表中的订单

热门标签

归档