FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
onsulta firebird 3 con IIF y group by
Buenas Noches,
con firebird3 puede usa una function sql y no necesita agrupar |
#3
|
|||
|
|||
Cita:
Estoy intetando usar CASE de la siguiente manera, pero me sigue pidiendo que agrupe por el campo "detalleventa.costo" para este caso del IIF
Lo he traducido al siguiente CASE
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 |
#4
|
|||
|
|||
Cita:
OJO que al resultado lo necesito agrupado por los campos deseados para que queda un registro por cada articulo existente, con los promedios y calculos de venta. |
#5
|
||||
|
||||
Hola,
añade esto IIF ( (detalleventa.costo * alicuotas.porcent) > 0 al group by Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#6
|
|||
|
|||
Cita:
me da error del AS, le saco el as margen y da error Cannot use an aggregate or window function in a GROUP BY clause Pero no entiendo que agregarle IIF al group pueda ser la solucion. Lo del case parece acercarse Pero necesito agrupar el resultado por los campos que tengo en group by |
#7
|
||||
|
||||
Si te pide otro campo agregado es que lo necesita. No hay más vuelta de rosca.
Añade al group by solo: ' (detalleventa.costo * alicuotas.porcent) ', con eso debería funcionar y luego haz una select de tu select para agrupar el resultado como tu quieres. Tendrás que probar si tienes una equivalencia matemática con el resultado, porque esto parece un problema de mates no de SQL. O tendrás que tratar de calcularlo de otro modo. Siempre hay más de un sistema. También puedes probar a construir primero una tabla con los cálculos que necesitas (tupla a tupla), sin agrupar y luego sobre esa select hacer otra agrupada:
Última edición por kuan-yiu fecha: 18-01-2022 a las 13:47:59. |
#8
|
|||
|
|||
No se me había ocurrido un Selec del otro Select, eso ayudó. Gracias a todos
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta con Group By | jars | SQL | 2 | 12-11-2012 13:47:02 |
Consulta con Group By y Max | gluglu | SQL | 3 | 21-03-2012 15:17:21 |
Consulta con Group By SQL | DasGrun | SQL | 2 | 22-01-2010 16:28:02 |
Consulta con group by y min | zvf | SQL | 2 | 21-04-2008 20:13:25 |
Consulta Con Group By | VRO | SQL | 9 | 30-08-2004 18:06:07 |
|