Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por jooooseph Ver Mensaje
pero en este caso hay una pequeña dificultad, porque cuando quiera un reporte anterior tipo del 2011 o 2013. los unicos recultados que me pareceran son aquellos que nunca han ingresado nada.
Ya vi el error. Tienes razón. Veamos otro intento antes de rendirnos a las subconsultas

Código SQL [-]
select
  clientes.nombre,
  sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 1, monto, 0)) as enero,
  sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 2, monto, 0)) as febrero,
  ...
  sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 12, monto, 0)) as diciembre
from clientes
left join ingresos on clientes.nombre = ingresos.nombre
group by nombre

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
Responder Con Cita
  #2  
Antiguo 12-09-2012
Avatar de jooooseph
jooooseph jooooseph is offline
Miembro
 
Registrado: oct 2007
Posts: 50
Poder: 19
jooooseph Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Ya vi el error. Tienes razón. Veamos otro intento antes de rendirnos a las subconsultas

Código SQL [-]select clientes.nombre, sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 1, monto, 0)) as enero, sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 2, monto, 0)) as febrero, ... sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 12, monto, 0)) as diciembre from clientes left join ingresos on clientes.nombre = ingresos.nombre group by nombre


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
ROMAN gracias por la ayuda, era mas simple de lo que parecia.... Una ayuda mas y si no quisiera que me muestren montos sino que si hubo algun ingreso en el mes del cliente que me muestre "ok" o "0.00" si no hubo ingresos.
Responder Con Cita
  #3  
Antiguo 12-09-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
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.
Responder Con Cita
  #4  
Antiguo 18-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No repitas mensajes. Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 11:53:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi