Hola, espero todo bien y me puedan ayudar tengo varios dias con este tema, tengo 3 tablas productos, detalle_venta, venta: de las cuales jalo de productos el codigo, de detalle_venta la cantidad vendida y de venta el mes para agruparlas por mes, tengo un problema que los meses que no hay venta de un producto yo quiero que me devuelva 0 de valor no que lo pase por delante cosa que cada mes tiene mis 9000 items y no varia cada mes el numero de items para poder luego empatarlos, les paso la vista que estoy usando.
Código SQL:
Ver originalCREATE OR REPLACE VIEW comercial.cantidad_producto AS
SELECT p.codigo_prod_proveedor,
EXTRACT(MONTH FROM v.fecha_hora),
v.fecha_hora,
CASE dv.unidad_medida WHEN 'UNIDADES' THEN dv.cantidad
WHEN 'DOCENAS' THEN dv.cantidad*12
WHEN 'CIENTOS' THEN dv.cantidad*100
END AS cant
FROM comercial.producto p LEFT JOIN comercial.detalle_venta dv ON dv.codigo_producto = p.codigo_producto
INNER JOIN comercial.ventas v ON v.id_venta = dv.id_venta
WHERE v.codigo_cliente <> 'ANULADO'
ORDER BY p.codigo_prod_proveedor
me dijeron que tal vez con los right o left join pero nose como plantearlo, son 3 tablas y agrupados por meses.
espero me puedan ayudar, saludos.