FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#21
|
||||
|
||||
BUENO.... Casi va por la respuesta, en el casi de mi ejemplo solo con 3 clientes funciona por los ingresos que he realizado, pero si hubiera un cuarto cliente "Betty" el cual no hubiera realizado ningun ingreso, cuando haga la consulta anual este cuarto cliente no me va a figurar en el reporte. y lo que necesito es que me figure.
con tu consulta seria asi Cita:
Nombre ... | Enero | Febrero | Marzo | ...... hasta | Diciembre -----------+--------+---------+-------+------------------------- Cesar .... | 100.00 | 20.00 | 0.00 | ...... 0.00 Betty..... | 0.00 | 0.00 | 0.00 | .......0.00 Juan .... | 200.00 | 0.00 | 0.00 | ...... 0.00 Pedro .... | 100.00 | 0.00 | 0.00 | ...... 0.00 [/quote] Se podra hacer. |
#22
|
||||
|
||||
Cita:
// Saludos |
#23
|
||||
|
||||
¡Ah! Espera, tienes razón. Primero probé sin la condición del año y sí me aparecía maria, pero desaparece al poner el filtro. Pero prueba sustituyendo el filtro
por este otro:
// Saludos |
#24
|
||||
|
||||
Cita:
|
#25
|
||||
|
||||
Cita:
solo una ultima ayudita.... como estaria funcionando el coalesce(extract(year from fecha), 2012) = 2012 el 2012 que esta dentro del parecntesis.... |
#26
|
||||
|
||||
A ver, el uso del left join es el que permite incluir en la consulta registros que no tienen par en la tabla de ingresos. Pero al hacer el filtro volvían a desaparecer esos registros porque
devuelve NULL precisamente para ellos y no satisfacía la comparación con 2012. coalesce, por otra parte, es una función que devuelve el primer argumento que no sea NULL, Entonces
devolverá el segundo argumento parra esos registros, y, como queremos que sí los incluya, ponemos ese segundo argmuento igual al año que estamos examinando. // Saludos |
#27
|
||||
|
||||
Cita:
|
#28
|
||||
|
||||
Si cambias de año, debes cambiar el parámetro en las dos partes donde aparece.
// Saludos |
#29
|
||||
|
||||
Hola,
En el mismo hilo http://www.clubdelphi.com/foros/show...ht=select+case indico que no doy con las funciones de extraer año o mes !! En aquel momento (como casi siempre) no andaba bien de tiempo y primé ofrecer una solución rápida al problema a hacerla lo más académica posible, es decir, utilizando las sentencias más precisas. Pd:lo indico por las alusiones...
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#30
|
||||
|
||||
Cita:
Funciona en MySQL. Habría que ver en Firebird cómo se comporta el IF o el CASE cuando la condición valúa a NULL. // Saludos |
#31
|
||||
|
||||
Cita:
Cita:
// Saludos |
#32
|
||||
|
||||
Cita:
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#33
|
||||
|
||||
Cita:
|
#34
|
||||
|
||||
Debes usar la función coalesce (en firebird, desconozco en otra BD), haz una búsqueda por los foros, se ha tratado en diversas ocasiones.
|
#35
|
||||
|
||||
No repitas mensajes. Gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Reporte en PDF | lucasarts_18 | Varios | 4 | 31-03-2008 19:27:23 |
Resumen anual del Club Delphi 2006! | Héctor Randolph | La Taberna | 4 | 19-12-2006 00:19:02 |
Reporte | carols018 | Varios | 4 | 11-12-2006 09:02:00 |
Encuesta Anual Delphi | xander | Noticias | 0 | 30-10-2006 20:09:03 |
Reporte | erick_jesus | Conexión con bases de datos | 1 | 31-05-2006 17:22:50 |
|