Cita:
Empezado por kuan-yiu
Puedes usar case que no necesita agrupar
Código SQL [-]select loquesea, (CASE WHEN tuCondicion THEN esteCalculo ELSE esteOtroCalculo END) as Margen
from miTabla
|
Hola Buenos dias
Estoy intetando usar CASE de la siguiente manera, pero me sigue pidiendo que agrupe por el campo "detalleventa.costo"
para este caso del IIF
Código SQL
[-] IIF ( (detalleventa.costo * alicuotas.porcent) > 0,(sum(detalleventa.total)/sum(detalleventa.cant))/(detalleventa.costo * alicuotas.porcent), 0) as Margen
Lo he traducido al siguiente CASE
Código SQL
[-] (CASE WHEN (detalleventa.costo * alicuotas.porcent) > 0 THEN (sum(detalleventa.total)/sum(detalleventa.cant))/(detalleventa.costo * alicuotas.porcent) ELSE 0 END) as Margen
Y necesito agrupar por estos campos
group by detalleventa.art, detalleventa.descripcion, alicuotas.porcent, articulos.costo, articulos.peso
Para generar la estadistica y que quede una linea unica por articulo vendido (detalleventa.art es el ID de art ) con las sumatorias y promedios calculados de cada articulo
Y al pedirme que incorpore el campo detalleventa.costo (que es el ultimo costo de venta) como ese con la inflacion va cambiando a lo largo del tiempo no es unico y de pronto me encuentro con registros de articulos duplicados y agrupados por el costo de venta