Duda con Isnull en SUM

04/11/2007 - 18:06 por Alexis | Informe spam
Solicito su ayuda para esto:

Tengo dos tablas
a) registros de compras
compras (numcompra, valor, fecha)

b)registros de pagos de esas compras
pagos (numcompra, numpago, valor)

Es una relacion opcional de 1 a N por Numcompra y quiero obtener los
balances de cada compra:

Numcompra, Comprado, Pagado

Tengo el siguiente select:

select numcompra, comprado=compras.valor, pagado=sum(pagos.valor)
from compras
left join pagos on compras.numcompra=pagos.numcompra
group by numcompra,compras.valor

Dado que es un Left Join, la pregunta es como debo usar ISNULL para que la
columna "Pagado" me de Cero cuando la compra no tenga ningun pago:

asi: ISNULL(sum(pagos.valor),0)
o asi: sum( ISNULL(pagos.valor,0) )
o asi: ISNULL(sum( ISNULL(pagos.valor,0) ), 0)
?


Gracias

Preguntas similare

Leer las respuestas

#26 Carlos M. Calvelo
11/11/2007 - 00:57 | Informe spam
Hola otra vez Jorge,

Vaya culebrón :)
Reacciono otra vez porque pienso que seguimos sin
entendernos.

On 11 nov, 00:08, jeastman wrote:
Mostrar la cita
Me explico otra vez.
Yo no quiero que me des la razón. Yo no quiero sacarte a ti de
tu 'error', como dices en el otro post.
Yo propongo con mi argumentación que sum(isnull()) se puede
evitar siempre y lo que quiero es ver un ejemplo o una
argumentación donde se vea claro que si hay casos donde no
se puede prescindir del sum(isnull() ).

Eso es todo. (pero ya me estoy repitiendo).

Mostrar la cita
Yo... tranquilísimo. :-)


Mostrar la cita
Saludos para ti también,
Carlos
#27 jeastman
11/11/2007 - 03:30 | Informe spam
Que tal Carlos.

No trato de darte la razón por solo hacerlo, es que de verdad en uno de
los ejemplos me diste a entender algo que yo no sabía como es el caso de
que el sum ignora los valores null cuando se hace algo así

select sum( monto ) from tabla

De verdad lo ignoraba.

Ahora, el tema me parece muy interesante y de verdad me gustaría
continuar con él, te hago una propuesta.

Dame uno o dos días y prepara un par de ejemplos donde creo que es mejor
el sum( isnull( ) ) que el sum( isnull() ), luego ahi devatimos un poco
en el asunto, si estoy equivocado de seguro que estaré bien orientado en
algo y es que aprenderé de los aportes que tú hagas.

Si te parece con mucho gusto retomamos el tema desde el principio.

Un saludos hermano.



Carlos M. Calvelo escribió:
Mostrar la cita
Ads by Google
Search Busqueda sugerida