14/07/2011, 07:28
|
| Colaborador | | Fecha de Ingreso: agosto-2006 Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses Puntos: 774 | |
Respuesta: Consulta sql Cita:
Iniciado por mrprogman si, son tablas....este es el query completo q estoy usando...lo q hace es q me compara y me suma informacion de 3 tablas, entonces si un usuario tiene el campo meta vacio o en nulo me tiene q dar la id, y la venta pero sin el nombre del usuario, el problema q me esta dando es q el tipo de dato de meta es money y el resultado de meta viene d una consulta por lotanto al hacer una consulta me esta dando valor null no un 0, el codigo q me pusiste lee igual para valor NULL...si me explico..?..gracias por tu ayuda
select
susuarios.logname as Nombre_Vendedor,sales2.id, metasxvendedor.meta / 31 *(Day( getdate() )-1) as meta,
sum (venta) as Venta,
(metasxvendedor.meta / 31 * (Day( getdate() )-1)) - sum (venta) as Diferencia,
(Metasxvendedor.meta / 31 * (Day( getdate() )-1) -Sum (Venta)) / (metasxvendedor.meta / 31 * (Day( getdate() )-1)) * 100 as Porcentaje, case metasxvendedor.meta / 31 *(Day( getdate() )-1)
when metasxvendedor.meta / 31 *(Day( getdate() )-1) = convert (money ,'0')
THEN ''
else susuarios.logname end
as Nombre
from sales2
left join susuarios on
sales2.id=susuarios.id
and susuarios.sid=sales2.sid
left join metasxvendedor on
sales2.sid=metasxvendedor.sid
and sales2.id=metasxvendedor.id
and metasxvendedor.idate >='7/01/2011'
and metasxvendedor.idate <='7/12/2011'
where
sales2.venta <>0
and sales2.sid='6'
and sales2.idate>='7/1/2011'
and sales2.idate<='7/12/2011'
group by
susuarios.logname,susuarios.id,sales2.id, metasxvendedor.meta
ORDER BY
PORCENTAJE DESC El codigo que te pasaron funciona para lo que quieres nada mas tienes que poner en el case case
when meta=0 or meta is null then campo else otro_campo end as meta
Saludos!
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |