Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Estimada Caro.

Si tienes razon me trae dos datos el cual es ahi es donde se cae el query, necesito su ayuda para resolver este tema gracias.

Urgente
Responder Con Cita
  #22  
Antiguo 18-05-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Richard Lopez G Ver Mensaje
Si tienes razon me trae dos datos el cual es ahi es donde se cae el query
Entonces ahí esta el error, debes cambiar la consulta para que te devuelva un solo registro.

Cita:
Empezado por Richard Lopez G Ver Mensaje
necesito su ayuda para resolver este tema gracias.
Como te dije, has un pequeño ejemplo con las dos tablas, sus respectivos campos, algunos datos y en base a eso que resultado quieres obtener, sería mas facil para nosotros ayudarte de esa forma.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #23  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Estimada Caro.

Este es mi query que e desarrollado pero justo en el select anidado se me cae ya que cuando coapara y por desir el primer select en inicio se da cuenta que el usuario a marcado 2 veces es ahi donde se cae.

Dame una ayudadita sisisis.

select
r.*,convert(char(10),GETDATE(),112) FechaActual ,
(
select [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='Entrada'and [LogDate] ='2011/05/17')Entrada,
(
select [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='InicioAlmuerzo'and [LogDate] ='2011/05/17')InicioAlmuerzo,
(
select [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='FinAlmuerzo'and [LogDate] ='2011/05/17')FinAlmuerzo,
(
select [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='Salida'and [LogDate] ='2011/05/17')Salida
FROM
(SELECT [Cod_per]CodPersonal
,[ApePat_per]ApellidoPaterno
,[ApeMat_per]ApellidoMaterno
,[Nom_per] NombrePersonal
,[NomProy_per]Proyecto
,[NomArea_per]Area
,[Estado_per]Estado
,[Cod_Finger]FingerID
FROM T_Personal
where [NomProy_per]='BMP'
and NomArea_per='Sistemas'
and Estado_per='Activo')r;
Responder Con Cita
  #24  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Estimado este es el query que e desarrollado con tu ayuda pero me trae errores que me sale en la fila 5 y 24.

select
r.*,convert(char(10),GETDATE(),112) FechaActual,
(
SelectDistinct T.UserID, T.UserName,CaseWhen h.fKey ='Entrada'then h.LogTime else 0 end)As Entrada,
CaseWhen h.fKey ='InicioAlmuerzo'then h.LogTime else 0 end)As Inicio,
CaseWhen h.fKey ='FinAlmuerzo'then h.LogTime else 0 end)As Fin,
CaseWhen h.fKey ='Salida'then h.LogTime else 0 end)As Salida
From History T
LeftJoin LogTime h on T.UserID = H.UserID
Where H. LogDate ='2011/05/17')
FROM
(SELECT [Cod_per]CodPersonal
,[ApePat_per]ApellidoPaterno
,[ApeMat_per]ApellidoMaterno
,[Nom_per] NombrePersonal
,[NomProy_per]Proyecto
,[NomArea_per]Area
,[NomCargo_per]Cargo
,[Estado_per]Estado
,[Cod_Finger]FingerID
FROM T_Personal
where [NomProy_per]='BMP'
and NomArea_per='sistemas'
and Estado_per='Activo')r;
Responder Con Cita
  #25  
Antiguo 18-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Te recuerdo de nuevo nuestras normas y recuerda poner etiquetas al código.
Gracias por tu colaboración.





.
Responder Con Cita
  #26  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Estimado este es el query que e desarrollado con tu ayuda pero me trae errores que me sale en la fila 5 y 24.

select
r.*,convert(char(10),GETDATE(),112) FechaActual,
(
SelectDistinct T.UserID, T.UserName,CaseWhen h.fKey ='Entrada'then h.LogTime else 0 end)As Entrada,
CaseWhen h.fKey ='InicioAlmuerzo'then h.LogTime else 0 end)As Inicio,
CaseWhen h.fKey ='FinAlmuerzo'then h.LogTime else 0 end)As Fin,
CaseWhen h.fKey ='Salida'then h.LogTime else 0 end)As Salida
From History T
LeftJoin LogTime h on T.UserID = H.UserID
Where H. LogDate ='2011/05/17')
FROM
(SELECT [Cod_per]CodPersonal
,[ApePat_per]ApellidoPaterno
,[ApeMat_per]ApellidoMaterno
,[Nom_per] NombrePersonal
,[NomProy_per]Proyecto
,[NomArea_per]Area
,[NomCargo_per]Cargo
,[Estado_per]Estado
,[Cod_Finger]FingerID
FROM T_Personal
where [NomProy_per]='BMP'
and NomArea_per='sistemas'
and Estado_per='Activo')r;
Responder Con Cita
  #27  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Amigo este codigo se diseño con tu ayuda pero me sale error en la fila 5 y 24 ayuda
select
r.*,convert(char(10),GETDATE(),112) FechaActual,
(
SelectDistinct T.UserID, T.UserName,CaseWhen h.fKey ='Entrada'then h.LogTime else 0 end)As Entrada,
CaseWhen h.fKey ='InicioAlmuerzo'then h.LogTime else 0 end)As Inicio,
CaseWhen h.fKey ='FinAlmuerzo'then h.LogTime else 0 end)As Fin,
CaseWhen h.fKey ='Salida'then h.LogTime else 0 end)As Salida
From History T
LeftJoin LogTime h on T.UserID = H.UserID
Where H. LogDate ='2011/05/17')
FROM
(SELECT [Cod_per]CodPersonal
,[ApePat_per]ApellidoPaterno
,[ApeMat_per]ApellidoMaterno
,[Nom_per] NombrePersonal
,[NomProy_per]Proyecto
,[NomArea_per]Area
,[NomCargo_per]Cargo
,[Estado_per]Estado
,[Cod_Finger]FingerID
FROM T_Personal
where [NomProy_per]='BMP'
and NomArea_per='sistemas'
and Estado_per='Activo')r;
Responder Con Cita
  #28  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Amigo este es el query que e desarrollado con tu ayuda pero me trae errores que me sale en la fila 5 y 24.

select
r.*,convert(char(10),GETDATE(),112) FechaActual,
(
SelectDistinct T.UserID, T.UserName,CaseWhen h.fKey ='Entrada'then h.LogTime else 0 end)As Entrada,
CaseWhen h.fKey ='InicioAlmuerzo'then h.LogTime else 0 end)As Inicio,
CaseWhen h.fKey ='FinAlmuerzo'then h.LogTime else 0 end)As Fin,
CaseWhen h.fKey ='Salida'then h.LogTime else 0 end)As Salida
From History T
LeftJoin LogTime h on T.UserID = H.UserID
Where H. LogDate ='2011/05/17')
FROM
(SELECT [Cod_per]CodPersonal
,[ApePat_per]ApellidoPaterno
,[ApeMat_per]ApellidoMaterno
,[Nom_per] NombrePersonal
,[NomProy_per]Proyecto
,[NomArea_per]Area
,[NomCargo_per]Cargo
,[Estado_per]Estado
,[Cod_Finger]FingerID
FROM T_Personal
where [NomProy_per]='BMP'
and NomArea_per='sistemas'
and Estado_per='Activo')r;
Responder Con Cita
  #29  
Antiguo 18-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Te recuerdo de nuevo nuestras normas y recuerda poner etiquetas al código.
Gracias por tu colaboración.





.
Responder Con Cita
  #30  
Antiguo 18-05-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, de esta forma es un poco dificil ayudarte, no sabemos la estructura de tus tablas, que datos tienes, ni tampoco cuales son esos dos registros que te devuelve la subconsulta, por lo que tampoco sabemos cual de ellos te sirve o si tienes que hacer alguna operación entre ellos.........

Si haces lo que te dije mas arriba de pasarnos un ejemplo, prodriamos inclusive plantear de otra forma la consulta.

Lo que se me ocurre, es que le aplique Top 1 a cada una de tus subconsultas, pero nose si sera el resultado que esperas.

Código SQL [-]
select
r.*,convert(char(10),GETDATE(),112) FechaActual ,
Top 1 (select [LogTime]from History as h 
                 where [UserID]= r.FingerID AND [FKey]='Entrada'and [LogDate] ='2011/05/17') Entrada,
Top 1 (select [LogTime]from History as h 
                 where [UserID]= r.FingerID AND [FKey]='InicioAlmuerzo'and [LogDate] ='2011/05/17') InicioAlmuerzo,
Top 1 (select [LogTime]from History as h 
                 where [UserID]= r.FingerID AND [FKey]='FinAlmuerzo'and [LogDate] ='2011/05/17') FinAlmuerzo,
Top 1 (select [LogTime]from History as h 
                 where [UserID]= r.FingerID AND [FKey]='Salida'and [LogDate] ='2011/05/17') Salida
FROM
(SELECT [Cod_per]CodPersonal ...................................
.............................................................................

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 18-05-2011 a las 18:48:27.
Responder Con Cita
  #31  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Estimada para que me puedas ayudar que es lo que necesitas pues.

A la espera de tu comentario.

ya que es de suma urgencia sisisisis.
Responder Con Cita
  #32  
Antiguo 18-05-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Richard, por favor no repitas el mismo mensaje varias veces y lee lo que te ha indicado Casimiro.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #33  
Antiguo 18-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql

Hice las pruebas con tu ayuda pero me sale error con el top 1.

ayudame gracias es urgente
Responder Con Cita
  #34  
Antiguo 18-05-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
me he equipocado donde he puesto el Top 1.

Código SQL [-]
selectr.*,convert(char(10),GETDATE(),112) FechaActual ,
 (select Top 1 [LogTime]from History as h
      where [UserID]= r.FingerID AND [FKey]='Entrada'and [LogDate] ='2011/05/17') Entrada,
 (select Top 1 [LogTime]from History as h       
     where [UserID]= r.FingerID AND [FKey]='InicioAlmuerzo'and [LogDate] ='2011/05/17') InicioAlmuerzo,
 (select Top 1 [LogTime]from History as h         
     where [UserID]= r.FingerID AND [FKey]='FinAlmuerzo'and [LogDate] ='2011/05/17') FinAlmuerzo,
 (select Top 1 [LogTime]from History as h          
     where [UserID]= r.FingerID AND [FKey]='Salida'and [LogDate] ='2011/05/17') Salida
FROM(SELECT [Cod_per]CodPersonal .....................................................
...........................................................

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #35  
Antiguo 19-05-2011
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Poder: 20
abelg Va por buen camino
Si te esta retornando más de un valor en la sub consulta no dara nunca, creo que a cada una de estas:

Código SQL [-]
(select TOP 1 [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='Entrada'and [LogDate] ='2011/05/17') Entrada

el Top 1 indica que sacara solo una fila lo mismo para Salida, etc y con un order by de la hora sacaras el que quieras el primer intento o el segundo. si tendría la estructura de tus tablas sería más facil para mi explicarte.
salu2

Última edición por abelg fecha: 19-05-2011 a las 19:51:29.
Responder Con Cita
  #36  
Antiguo 19-05-2011
Richard Lopez G Richard Lopez G is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 32
Poder: 0
Richard Lopez G cantidad desconocida en este momento
Sql2

Estimadoas
utilice el top 1 y me resulto muhas gracias por la ayuda, ahora si yo quiero ponerle un order by en mi ultima linea me sale que el order by no trabaja en sub consultas ya que quieero ordenarlo por apellido a la espera de su ayuda.

select
r.*,convert(char(10),GETDATE(),112) FechaActual ,
(
select Top 1 [LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='Entrada'and [LogDate] ='2011/05/17')Entrada,
(
select Top 1[LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='InicioAlmuerzo'and [LogDate] ='2011/05/17')InicioAlmuerzo,
(
select Top 1[LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='FinAlmuerzo'and [LogDate] ='2011/05/17')FinAlmuerzo,
(
select Top 1[LogTime]from History as h where [UserID]= r.FingerID AND [FKey]='Salida'and [LogDate] ='2011/05/17')Salida
FROM
(SELECT [Cod_per]CodPersonal
,[ApePat_per]ApellidoPaterno
,[ApeMat_per]ApellidoMaterno
,[Nom_per] NombrePersonal
,[NomProy_per]Proyecto
,[NomArea_per]Area
,[Estado_per]Estado
,[Cod_Finger]FingerID
FROM T_Personal
where [NomProy_per]='BMP'
and NomArea_per='Sistemas'
and Estado_per='Activo')r;
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 21:42:40.


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