Que aparezca la fila con un SUM en cero
Buenas, tengo un dilema, he aquí la consulta
Las formas de envío pueden ser de tres tipos posibles: CORREO, ESTAFETA, RETIRA La consulta me dice cuantos ejemplares van por cada uno de los tipos, el resultado: tres filas CORREO 10 ESTAFETA 13 RETIRA 20 El drama se me presenta cuando uno de los tipos no tiene ejemplares en el rango de fechas, supongamos que ESTAFETA no tiene ejemplares en el rango de fechas, lo que yo quiero que presente es: CORREO 10 ESTAFETA 0 RETIRA 20 Sin embargo, la sql me devuelve CORREO 10 RETIRA 20 ¿Cómo puedo hacer para lograr que ponga ESTAFETA 0? Gracias, Santiago. |
Ah, el motor es Firebird 2.1. Lo había olvidado.
Gracias.:D |
Hola...
Te había propuesto que uses CASE, pero veo que la función COALESCE ya debería hacer lo que necesitas... Saludos... |
hola,
tienes alguna tabla con todas las formas de envio?? |
Buenas,
Aparentemente los distintos valores de FORMA_ENVIO solamente están en esa tabla SUSCRIPCIONES, así que tal vez se pueda haciendo un JOIN de la misma tabla. Algo así: - |
Puedes provar este sql a ver como va |
Tienen razón, las formas de envío están en la tabla SUSCRIPCIONES. Esto fue un error que cometí hace años :D, quedó así y hoy es muy pero muy difícil modificar la BD. Es grande y de un gran uso...
Algo que me funcionó fue esto:
Está medio rebuscado, pero cuando alguna de las formas de envío no tiene ejemplares muestra un null, que lo puedo interpretar como "cero" En lugar de hacer una fila por cada forma de envío, hice una columna (esto no es tan dramático, porque las formas de envío no han cambiado en años) |
La franja horaria es GMT +2. Ahora son las 17:18:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi