Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Query para sumar atenciones mensuales

Buenos Dias..

tengo un problema que no se como resolver, resulta que tengo una tabla con los siguientes campos
Cita:

Afiliado, Formulario, FechaAtencion
0001....00001.....15/01/2011
0001....00021.....19/01/2011
0001....00022.....21/01/2011
0001....00035.....17/02/2011
0001....00036.....25/02/2011
0001....00088.....03/03/2011
0001....00099.....04/04/2011
Me gustaria como resultado

Cita:
Afiliado Mes Año Cantidad
0001....1...2011....3
0001....2...2011....2
0001....3...2011....1
0001....4...2011....1

Ahora el mes y el año no necesariamente debe salir de esa forma... solo algo que me indique la cantidad de atenciones agrupado por mes y año

espero haberme explicado bien
gracias
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 12-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
De donde sacas la cantidad?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 12-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ya la vi.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 12-05-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Caral es un COUNT de los datos de la tabla, tomando el mes y el año.

Ahora, oscarac, ¿qué motor de base de datos utilizas?



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #5  
Antiguo 12-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

En Firebird podrías hacer:
Código SQL [-]
SELECT AFILIADO, EXTRACT(MONTH FROM FECHA) AS MES, EXTRACT(YEAR FROM FECHA) AS ANIO, COUNT(*) AS CANTIDAD FROM AFILIADOS
GROUP BY AFILIADO, ANIO, MES

Pero como bién pregunta maeyanes hay que ver con que motor trabajas.

Saludos.

Edito: no es necesario: order by afiliado.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-05-2011 a las 20:15:07.
Responder Con Cita
  #6  
Antiguo 12-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código SQL [-]
SELECT DISTINCT afiliado, Format$(fechaatencion,'mmmm yyyy') AS fecha, Count(*) AS cantidad
FROM Afiliados
GROUP BY afiliado, Format$(fechaatencion,'mmmm yyyy'), Year(fechaatencion)*12+DatePart('m',fechaatencion)-1;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 12-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
ups.... me olvide comentar que es MS SQL SERVER
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #8  
Antiguo 12-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y bueno, funciono alguna de las dos opciones?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 12-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Pues no, no funciono ninguna de las 2
En la primera me sale
Incorrect syntax near the keyword 'FROM'.

En la segunda
'Format$' is not a recognized function name.


__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #10  
Antiguo 12-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Entonces lo tienes facil.
Cambia o a Firebird o a access
Saludos
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 12-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
lo solucione de esta manera (con las adiciones en campos correspondientes), a ver si alguien lo puede Optimizar

Código Delphi [-]
 
Select numeroCarnePaciente, Substring(Convert(nvarchar(30), FechaEmision,103),4,10) As Periodo, 
Count(Substring(Convert(nvarchar(30), FechaEmision,103),4,10)) As cantidad
from tb_formulario_web f 
where year(f.FechaEmision) >= 2010 and CodigoEstado = '02' 
and f.CodCLinica in ('9994','9995','9996')
Group by numeroCarnePaciente, Substring(Convert(nvarchar(30), FechaEmision,103),4,10) 
Order by numeroCarnePaciente
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 12-05-2011 a las 21:19:22.
Responder Con Cita
  #12  
Antiguo 13-05-2011
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Poder: 20
abelg Va por buen camino
Hola Oscar mira espero te sirva aún esto en sql server, cree una tabla temporal para poder reproducir la que muestras al inicio.

Código SQL [-]
Create table #consultas (
        afiliado        varchar(15),
        formulario        varchar(15),
        FechaAtencion Datetime
)

insert into #consultas values('0001','00001','2011/01/15')
insert into #consultas values('0001','00021','2011/01/19')
insert into #consultas values('0001','00022','2011/01/21')
insert into #consultas values('0001','00035','2011/02/17')
insert into #consultas values('0001','00036','2011/02/25')
insert into #consultas values('0001','00088','2011/03/03')
insert into #consultas values('0001','00099','2011/04/04')

Select afiliado,
                        DATEPART(month, FechaAtencion) mes,
                        DATEPART(YEAR, FechaAtencion) anio,
                        COUNT(DATEPART(month, FechaAtencion)) cantidad
From #consultas
group by afiliado,
                        DATEPART(month, FechaAtencion),
                        DATEPART(YEAR, FechaAtencion)
--having COUNT(DATEPART(month, FechaAtencion))> 0


Drop table #consultas

si tienes problemas en los insert puede ser por el formato de fecha, en mi configuración esta en ingles, por si tienes problemas pues cambias a tu formato. Ej: 'año/mes/dia' es el mio y el tuyo puede ser 'dia/mes/año'.
saludos.
Responder Con Cita
  #13  
Antiguo 13-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Gracias Abelg

funciona de forma bastante similar al que yo hice...
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta



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
Sumar Minutos para total asistencia webmasterplc Varios 1 18-02-2011 06:46:31
Problemas para sumar en TDBGrid whatson Varios 1 18-12-2007 17:34:08
Funcion para sumar meses? patorecalde MS SQL Server 2 21-08-2007 20:24:17
Ventas diarias, semanales, mensuales y anuales magm2000 SQL 2 11-10-2005 17:44:56
sumar columna para que salgan en query narciso SQL 4 26-07-2005 10:51:43


La franja horaria es GMT +2. Ahora son las 23:16:36.


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
Copyright 1996-2007 Club Delphi