WooCommerce - Consulta para productos ordenados
Estoy tratando de obtener todos los pedidos de un día/hora específico y luego ordenar los productos usando SQL (MySQL) como se muestra en la consulta siguiente:
select
p.ID as order_id,
p.post_date,
i.order_item_name,
max( CASE WHEN im.meta_key = '_product_id' and p.ID = im.order_item_id THEN im.meta_value END ) as Prod_ID
from
wp_posts as p,
wp_postmeta as pm,
wp_woocommerce_order_items as i,
wp_woocommerce_order_itemmeta as im
where
p.post_type = 'shop_order'
and p.ID = pm.post_id
and p.ID = i.order_id
and p.post_date BETWEEN '2016-01-14 00:00:00' AND '2016-01-14 23:59:59'
and p.post_status = 'wc-processing'
Parece que cuando intento consultar la tabla wp_woocommerce_order_itemmeta
para obtener los datos de los productos ordenados, pierdo la conexión a la base de datos (la conexión se agota durante la consulta).
¿Alguna idea de qué está pasando?

Consulta corregida
select
p.ID as order_id,
p.post_date,
i.order_item_name,
max( CASE WHEN im.meta_key = '_product_id' and i.order_item_id = im.order_item_id THEN im.meta_value END ) as Prod_ID
from
wp_posts as p,
wp_postmeta as pm,
wp_woocommerce_order_items as i,
wp_woocommerce_order_itemmeta as im
where
p.post_type = 'shop_order'
and p.ID = pm.post_id
and p.ID = i.order_id
and p.post_date BETWEEN '2016-01-14 00:00:00' AND '2016-01-14 23:59:59'
and p.post_status = 'wc-processing'
Explicación: El ID de la publicación no tiene relación directa con los metadatos del artículo del pedido

consulta SQL muy ineficiente, deberías unir la tabla itemmeta en lugar del cross join. deberías eliminar esta respuesta

Quería actualizar esto, ya que lo encontré mientras construía mi propio informe.
Un método mejor es hacer las uniones internas adecuadas, minimizando los tiempos de consulta:
select
p.ID as order_id,
p.post_date,
i.order_item_name,
max( CASE WHEN im.meta_key = '_product_id' and i.order_item_id = im.order_item_id THEN im.meta_value END ) as Prod_ID
from
wp_posts as p
inner join
wp_postmeta as pm
on p.id = pm.post_id
inner join
wp_woocommerce_order_items as i
on p.id = i.order_id
inner join
wp_woocommerce_order_itemmeta as im
on i.order_item_id = im.order_item_id
where
p.post_type = 'shop_order'
and p.post_date BETWEEN '2017-04-29 00:00:00' AND '2017-04-30 23:59:59'
and p.post_status = 'wc-processing';
