ISNULL
Publicado por lissi (14 intervenciones) el 29/06/2006 20:12:25
HOLA TENGO UNA DUDA
EN EL SIGUIENTE CODIGO APESAR QUE USO EL ISNULL PARA QUE ME DE 0 SI NO HAY DATOS, PORQUE ME DEVUELVE NULL QUE ESTA MAL????
SELECT ISNULL(SUM(CALCULO.CALCULO),0)
FROM VW_VENDEDOR JOIN (
SELECT VW_VENDEDOR.CODIGOPERSONAL AS P,
ROUND((((SUM(ISNULL(D.CANTIDADEMPAQUE,0)) * ISNULL(D.FACTOR,0)) + SUM(ISNULL(D.CANTIDADUNIDAD,0))) * (ISNULL(P.PESO,0)/ ISNULL(D.FACTOR,0)))/10,0,1) AS CALCULO
FROM FACTURADETALLE D JOIN FACTURA F ON
F.CODIGOEMP=D.CODIGOEMP AND
F.TIPODOCUMENTO =D.TIPODOCUMENTO AND
F.NUMEROSERIE = D.NUMEROSERIE AND
F.NUMEROFACTURA= D.NUMEROFACTURA
JOIN PRODUCTO P ON
P.CODIGOPRODUCTO = D.CODIGOPRODUCTO AND
P.CODIGOEMP = D.CODIGOEMP
JOIN CLIENTE C ON
F.CODIGOCLIENTE = C.CODIGOCLIENTE
JOIN VW_VENDEDOR ON
F.CODIGOVENDEDOR= VW_VENDEDOR.CODIGOPERSONAL AND
F.CODIGOEMP=VW_VENDEDOR.CODIGOEMP
WHERE
P.CODIGOPROVEEDOR =000084 AND
P.CODIGOSUBLINEA =37 AND
F.TIPOFACTURA ='F' AND
F.SITUACIONFACTURA <> 90 AND
FECHAFACTURA BETWEEN '01/06/06' AND '09/06/06' AND
CODIGOTIPONEGOCIO IN('01','02','03','04','05','06','07')
GROUP BY PESO, FACTOR, VW_VENDEDOR.CODIGOPERSONAL) AS CALCULO
ON VW_VENDEDOR.CODIGOPERSONAL=CALCULO.P
GROUP BY VW_VENDEDOR.CODIGOPERSONAL )
EN EL SIGUIENTE CODIGO APESAR QUE USO EL ISNULL PARA QUE ME DE 0 SI NO HAY DATOS, PORQUE ME DEVUELVE NULL QUE ESTA MAL????
SELECT ISNULL(SUM(CALCULO.CALCULO),0)
FROM VW_VENDEDOR JOIN (
SELECT VW_VENDEDOR.CODIGOPERSONAL AS P,
ROUND((((SUM(ISNULL(D.CANTIDADEMPAQUE,0)) * ISNULL(D.FACTOR,0)) + SUM(ISNULL(D.CANTIDADUNIDAD,0))) * (ISNULL(P.PESO,0)/ ISNULL(D.FACTOR,0)))/10,0,1) AS CALCULO
FROM FACTURADETALLE D JOIN FACTURA F ON
F.CODIGOEMP=D.CODIGOEMP AND
F.TIPODOCUMENTO =D.TIPODOCUMENTO AND
F.NUMEROSERIE = D.NUMEROSERIE AND
F.NUMEROFACTURA= D.NUMEROFACTURA
JOIN PRODUCTO P ON
P.CODIGOPRODUCTO = D.CODIGOPRODUCTO AND
P.CODIGOEMP = D.CODIGOEMP
JOIN CLIENTE C ON
F.CODIGOCLIENTE = C.CODIGOCLIENTE
JOIN VW_VENDEDOR ON
F.CODIGOVENDEDOR= VW_VENDEDOR.CODIGOPERSONAL AND
F.CODIGOEMP=VW_VENDEDOR.CODIGOEMP
WHERE
P.CODIGOPROVEEDOR =000084 AND
P.CODIGOSUBLINEA =37 AND
F.TIPOFACTURA ='F' AND
F.SITUACIONFACTURA <> 90 AND
FECHAFACTURA BETWEEN '01/06/06' AND '09/06/06' AND
CODIGOTIPONEGOCIO IN('01','02','03','04','05','06','07')
GROUP BY PESO, FACTOR, VW_VENDEDOR.CODIGOPERSONAL) AS CALCULO
ON VW_VENDEDOR.CODIGOPERSONAL=CALCULO.P
GROUP BY VW_VENDEDOR.CODIGOPERSONAL )
Valora esta pregunta


0