Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Consulta con right join

Estas en el tema de Consulta con right join en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/06/2014, 10:10
 
Fecha de Ingreso: julio-2007
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Consulta con right join

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 original
  1. CREATE OR REPLACE VIEW comercial.cantidad_producto AS
  2. SELECT p.codigo_prod_proveedor,
  3.     EXTRACT(MONTH FROM v.fecha_hora),  
  4.     v.fecha_hora,
  5.     CASE dv.unidad_medida WHEN 'UNIDADES' THEN dv.cantidad
  6.     WHEN 'DOCENAS' THEN dv.cantidad*12
  7.     WHEN 'CIENTOS' THEN dv.cantidad*100
  8.     END AS cant
  9. FROM comercial.producto p LEFT JOIN comercial.detalle_venta dv ON dv.codigo_producto = p.codigo_producto
  10. INNER JOIN comercial.ventas v ON v.id_venta = dv.id_venta
  11. WHERE v.codigo_cliente <> 'ANULADO'
  12. 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.

Última edición por gnzsoloyo; 04/06/2014 a las 10:25

Etiquetas: join, left
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:35.