Ver Mensaje Individual
  #4  
Antiguo 15-01-2022
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Reputación: 20
amadis Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
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
Responder Con Cita