From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
Cc: | Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Left Join |
Date: | 2010-06-08 17:21:32 |
Message-ID: | AANLkTimsqvy2-PR4g3wr5Yza4fYKh4VCAy75m5YUnvnj@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2010/6/8 Oswaldo Hernández <listas(at)soft-com(dot)es>:
>
> En los vendedores que no tengan venta en el valor de venta.fecha es null por
> lo que no se cumple la condicion del between.
>
> Agregale al where la condicion para que tenga en cuenta las fechas nulas o
> haz el join con un subselect de las ventas del periodo, pero ten en cuenta
> que el count() devolverá 1 para los vendedores sin venta.
>
>
Esto es compicar demasiado las cosas, y complicarlas para que te de un
resultado incorrecto :(
Si pones la condición de las fechas dentro de la clausula ON el lo
filtrara antes de devolver registros con nulos y ademas te da el
resultado correcto :)
select vendedor.nombre, count (ventas.id_documento)
from vendedor left join ventas on (vendedor.id_vendedor =
ventas.id_vendedor and
ventas.fecha
between '20100101' and '20100531')
group by 1
--
Jaime Casanova www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2010-06-08 17:28:57 | Re: diferencias en BD |
Previous Message | Julio Cesar Rodriguez Dominguez | 2010-06-08 17:05:41 | Re: diferencias en BD |