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 16-06-2003
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Unhappy Select un poco jodida!!

Buenas,

Llevo rato intentandolo pero no lo he conseguido.
Trata de una tabla de Asistencia, en
donde tiene los siguientes campos
dni, fecha, hora

Resulta que tengo la siguiente select:

SELECT DISTINCT Dni, COUNT(*) AS NumAsis
FROM Asistencias
WHERE Fecha BETWEEN '01/01/2000' AND '01/01/2003'
GROUP BY Dni
having COUNT(*)>50

Bien, en este primer filtro tengo los trabajadores que han asistido un minimo de 50 veces, pero quiero saber ademas, la fecha y hora de asistencia.


Alguien me puede indicar, retocando esta select para que ademas de lo que pone arriba, tambien pueda ver la fecha y asistencias de esas veces que ha venido al trabajo.

ok, Gracias
Responder Con Cita
  #2  
Antiguo 16-06-2003
pedrohdez pedrohdez is offline
Miembro
 
Registrado: may 2003
Ubicación: Murcia
Posts: 54
Poder: 21
pedrohdez Va por buen camino
Pues con un select anidado, no sera lo mas rapido pero te dara la información,

Cita:
select DNI, fecha, hora, etc from Asistencias
where DNI in (SELECT DISTINCT Dni, COUNT(*) AS NumAsis
FROM Asistencias
WHERE Fecha BETWEEN '01/01/2000' AND '01/01/2003'
GROUP BY Dni
having COUNT(*)>50)
order by DNI, Fecha, Hora
Aunque el DISTINCT que tienes en el select, no que hace, si ya has agrupado por DNI, no hay duplicados, asi que el distinst es totalmente redundante.
Responder Con Cita
  #3  
Antiguo 17-06-2003
Aprendiz Aprendiz is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 21
Aprendiz Va por buen camino
Yo te diría que si te decantas por la solución del Select anidado, quites además del DISTINCT el COUNT(*) del select. No tiene sentilo la verdad.

Si lo que quieres es mostrar fecha yo hora al lado de dni y numero de incidencias pues te diría que tampoco tiene mucho sentido, repites 'x' veces dni e incidencias. Si estás trabajando con delphi, supongo si estás en este club, te diría que lo dividieses en dos consultas por separado con una relación Master-Source. Si no es esto lo que quieres hacer pues anida el contador de las incidencias en el select donde recuperas fecha, hora, etc...

Saludos.
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender.
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


La franja horaria es GMT +2. Ahora son las 12:09:13.


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