-- Query: Productos con y sin ubicación en tienda
-- Fecha: 2025-12-11
-- Descripción: Lista productos tipo 1 mostrando si tienen ubicación o no

USE fotosimp_wcommerce;

-- Query completa: Productos con ubicación y sin ubicación para store_id = 3
SELECT 
    p.ID as producto_id,
    p.post_title as nombre_producto,
    pm_sku.meta_value as SKU,
    COALESCE(aptu.ubicacion, 'SIN UBICACION') as ubicacion,
    COALESCE(aptu.store_id, 3) as tienda_id
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = '_producto_tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID 
    AND pm_sku.meta_key = '_sku'
LEFT JOIN areas_por_tienda_ubicacion aptu ON aptu.producto_id = p.ID 
    AND aptu.store_id = 3
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
ORDER BY 
    CASE WHEN aptu.ubicacion IS NULL THEN 0 ELSE 1 END,
    p.post_title;

-- Query solo productos SIN ubicación
SELECT 
    p.ID as producto_id,
    p.post_title as nombre_producto,
    pm_sku.meta_value as SKU
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = 'tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID 
    AND pm_sku.meta_key = '_sku'
LEFT JOIN areas_por_tienda_ubicacion aptu ON aptu.producto_id = p.ID
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
    AND aptu.producto_id IS NULL
ORDER BY p.post_title;

-- Query solo productos CON ubicación
SELECT 
    p.ID as producto_id,
    p.post_title as nombre_producto,
    pm_sku.meta_value as SKU,
    aptu.ubicacion,
    aptu.store_id as tienda_id
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = 'tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID 
    AND pm_sku.meta_key = '_sku'
INNER JOIN areas_por_tienda_ubicacion aptu ON aptu.producto_id = p.ID
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
ORDER BY p.post_title;

-- Resumen por tienda: Cantidad de productos con y sin ubicación
SELECT 
    COALESCE(aptu.store_id, 'Sin asignar') as tienda_id,
    COUNT(DISTINCT p.ID) as total_productos,
    SUM(CASE WHEN aptu.ubicacion IS NOT NULL THEN 1 ELSE 0 END) as con_ubicacion,
    SUM(CASE WHEN aptu.ubicacion IS NULL THEN 1 ELSE 0 END) as sin_ubicacion
FROM wp_posts p
INNER JOIN wp_postmeta pm_tipo ON pm_tipo.post_id = p.ID 
    AND pm_tipo.meta_key = 'tipo' 
    AND pm_tipo.meta_value = '1'
LEFT JOIN areas_por_tienda_ubicacion aptu ON aptu.producto_id = p.ID
WHERE p.post_type = 'product'
    AND p.post_status = 'publish'
GROUP BY aptu.store_id
ORDER BY tienda_id;
