Hola de nuevo azuer:
Estoy seguro que algunos de nosotros también han comenzado a desesperarse, pues no aplicas nada de lo que tratamos de explicarte. Tal pareciera que estás esperando una respuesta sólo para copiar y pegar y que funcione tal y como lo necesitas. Eso difícilmente va a suceder, la mayoría de las veces vas a tener que hacer algún tipo de adecuación del código que aquí te ponemos para aplicarlo a tu problema real. Ya te había comentado que el formato de los datos para presentarlos al usuario debes hacerlo en el ULTIMO SELECT O SELECT EXTERNO (o tal como lo comentó el compañero Iislas en la capa del Cliente), pero parece que no terminas de entender cómo hacer esto. A partir de la última consulta que pones:
Código SQL:
Ver originalSELECT T.*,CONVERT( VARCHAR(8), Salida - Entrada, 108) Horas
FROM(
SELECT FolioSae,alNombre +' '+ alApPat +' '+ alApMat Nombre,
fecha, dbo.FormatDateTime(Hora,'HH:MM:SS 24') ENTRADA,
(SELECT Hora FROM ServSocChequeo
WHERE IdEvento =2 AND Fecha=ssc.fecha AND idalumn=ssc.idalumn) SALIDA
FROM dbo.ServSocChequeo ssc INNER JOIN dbo.ServSocAlDatosPersonales ssdp
ON (ssdp.idalumn=ssc.idalumn) WHERE IdEvento =1
) AS T
dices que FECHA y SALIDA no tienen el formato que quieres,
PUES ENTONCES APLICA DICHO FORMATO EN EL SELECT EXTERNO:
Código SQL:
Ver originalSELECT
T.Nombre,
CONVERT(VARCHAR(10), T.fecha, 103) fecha, --> formato dd/mm/yyyy
CONVERT(VARCHAR(10), T.ENTRADA, 108) ENTRADA, --> formato hh24:mi:ss
CONVERT(VARCHAR(10), T.SALIDA, 108) SALIDA, --> formato hh24:mi:ss
CONVERT( VARCHAR(8), T.SALIDA - T.ENTRADA, 108) Horas --> formato hh24:mi:ss
FROM(
SELECT FolioSae,alNombre +' '+ alApPat +' '+ alApMat Nombre,
fecha, Hora ENTRADA,
(SELECT Hora FROM ServSocChequeo
WHERE IdEvento =2 AND Fecha=ssc.fecha AND idalumn=ssc.idalumn) SALIDA
FROM dbo.ServSocChequeo ssc INNER JOIN dbo.ServSocAlDatosPersonales ssdp
ON (ssdp.idalumn=ssc.idalumn) WHERE IdEvento =1
) AS T
Puedes observar que en el select interno NO SE APLICA NINGUNA CONVERSIÓN, porque no es necesario. Si de plano esto no te ayuda, creo que será conveniente que busques ayuda en algún otro foro o que algún otro forista trate de ayudarte, pues no encuentro otra manera de explicarme.
Saludos
Leo.