Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Consulta SQL (https://www.clubdelphi.com/foros/showthread.php?t=52601)

jocey 25-01-2008 15:11:03

Consulta SQL
 
Buenas mis amigos del foro un saludo para todos, mi pregunta de hoy es la siguiente, tengo una tabla en SQL, la cual tiene un campo que se llama CARDNUMBER, el cual guarda valores numericos, y otro que se llama TIME este guarda fechas, en el campo cardnumber estan el # de trajeta de los trabajadores y en Time las horas de entrada y salida de un dia laboral, como puedo saber por cada cardnumber la hora de menor y la hora mayor.... osea el valor minimo y maximo por cada uno de los cardnumber.... me hago entender.... me discilpan por favor si no me exprese bien.


Saludos familia

delphi.com.ar 25-01-2008 15:21:14

¿Esto?
Código SQL [-]
SELECT CADNUMBER, MAX(TIME) MAX_TIME, MIN(TIME) MIN_TIME
FROM TABLA
GROUP BY CADNUMBER

Saludos!

jocey 25-01-2008 15:32:11

Gracias
 
Mil Gracias, sos un genio....

jocey 25-01-2008 17:23:35

Problemas con Consulta
 
Hace unos minutos puse una pregunta y un amigo me respondio esto

Código SQL [-]SELECT CARDNUMBER, MIN([TIME]) AS MIN_TIME, MAX([TIME]) AS MAX_TIME, [DATE] AS Dias
FROM [2008_01_10-23_57_53]
GROUP BY CARDNUMBER, [DATE]



pero que pasa que la consulta no me da los valores reales de maximos y minimos en estos campos, y en la tabla el tipo de datos del campo TIME es nvarchar, no DateTime... se que esto puede influir, el hecho es que no le puedo cambiar el tipo de datos al campo, se podria hacer algo en la consulta para que me de los valores minimos y maximos bien????


Gracias nuevamente de antemano

Saludos a la familia del club

enecumene 25-01-2008 17:49:23

Saludos, Tal vez tendras que darle formato al campo en la consulta, aqui un link que tal vez te ayude:

http://www.w3schools.com/sql/sql_functions.asp

Saludos.

delphi.com.ar 25-01-2008 20:31:19

Cita:

Empezado por enecumene (Mensaje 260916)
Saludos, Tal vez tendras que darle formato al campo en la consulta, aqui un link que tal vez te ayude:

La "solución inmediata" es convertir el tipo de dato en la consulta, pero tienes un problema de raíz, que es el diseño. Como norma de diseño suelo exigir que los tipos de datos sean de los valores que representan, guardar fechas en cadenas es costoso en espacio y procesamento. La "solución final" a este tema, por triste que sea su enunciado, es la rearquitectura, obviamente no siempre es posible esta segunda opción.

PD: Solo agrego que las funciones de cast no son ANSI por lo que suelen variar entre los distintos motores, y nunca nos has especificado con que motor trabajas.

Saludos!

jocey 25-01-2008 20:53:03

Consulta SQL
 
Caral trabajo con SQL Server 2000 SP3 y no puedo cambiar el diseño de la Base de Datos, pues tendria que cambiar otras cosas que apuntan a esos campos y no lo programe yo..... asi que mi unica opcion es tratar de lograr esto con la consulta..... me podrian ayudar asi...

enecumene 25-01-2008 20:56:46

Cita:

Empezado por jocey (Mensaje 260975)
Caral trabajo con SQL Server 2000 SP3 y no puedo cambiar el diseño de la Base de Datos, pues tendria que cambiar otras cosas que apuntan a esos campos y no lo programe yo..... asi que mi unica opcion es tratar de lograr esto con la consulta..... me podrian ayudar asi...

Hombre donde esta Caral? o estas confundido? no sera delphi.com.ar?:D:D

egostar 25-01-2008 21:04:38

Cita:

Empezado por enecumene (Mensaje 260979)
Hombre donde esta Caral? o estas confundido? no sera delphi.com.ar?:D:D

Lo que pasa es que jocey ya es un miembro mas del club de fans :D:D:D

Salud OS

enecumene 25-01-2008 21:10:05

Cita:

Empezado por egostar (Mensaje 260984)
Lo que pasa es que jocey ya es un miembro mas del club de fans :D:D:D

Salud OS

Aparentemente que si, tiene la CaralMania. :D:D

jcarteagaf 25-01-2008 21:14:08

Podrias probar lo siguiente

Código SQL [-]
SELECT CADNUMBER, MAX(CAST(TIME AS DATETIME)) MAX_TIME, MIN(CAST(TIME AS DATETIME)) MIN_TIME
FROM TABLA
GROUP BY CADNUMBER

Siempre y cuando la informacion haya sido guardada siguiendo en el formato adecuado de Fecha y Hora de SQL Server

Saludos

Dairo 01-02-2008 16:47:01

hola, disculpen mi ignorancia pero alguien me puede decir como hago para realizar preguntas que sean vistas por todos

felipe88 01-02-2008 16:57:14

Cita:

Empezado por Dairo (Mensaje 262684)
hola, disculpen mi ignorancia pero alguien me puede decir como hago para realizar preguntas que sean vistas por todos

Lo acabas de hacer...:D

enecumene 01-02-2008 17:13:42

Cita:

Empezado por felipe88 (Mensaje 262691)
Lo acabas de hacer...:D

Sin Animos de ofender al amigo Dairo, pero felipe no sabes cuanta risa me acaba de dar esa respuesta...:D:D:D

Delphius 01-02-2008 17:27:08

Cita:

Empezado por felipe88 (Mensaje 262691)
Lo acabas de hacer...:D

Cita:

Empezado por enecumene (Mensaje 262704)
Sin Animos de ofender al amigo Dairo, pero felipe no sabes cuanta risa me acaba de dar esa respuesta...:D:D:D

Yo también me he reído...
Pero una vez que se me pasó la risa, sentí que le falté el respeto... me tomé la libertad de enviarle un MP informandole de como proceder. Aunque no se si fue lo mejor ... a lo mejor lo confundo más:(

Saludos,

felipe88 01-02-2008 17:31:01

:D:D Que quede claro que mi intencion no era ofender... hasta yo me he reido :D:D

Dairo, solo debes seleccionar el foro correspondiente a tu pregunta, si no sabes cual usa "Varios" y alli da crear nuevo tema

Saludos

egostar 01-02-2008 17:52:38

Cita:

Empezado por Dairo (Mensaje 262684)
hola, disculpen mi ignorancia pero alguien me puede decir como hago para realizar preguntas que sean vistas por todos

Bueno después del buen chascarrillo de nuestro amigo felipe88 :D:D, para que tus preguntas sean vistas por el mayor número de compañeros te recomiendo que pienses bien el titulo de tu pregunta, si es algo como SOY NOVATO, AYUDA POR FAVOR, NO FUNCIONA MI PROGRAMA será un poco dificil que te respondan, y si lo hacen te dirán que no esta bien, una vez que hayas formulado bien el titulo, es muy importante que nos comentes con cierto lujo de detalles tu problema, entre mas información nos des, más compañeros podrán ayudarte.

Vamos quiero decir que la risa es el remedio infalible, no te sientas agredido, así que disfruta del club y de paso lee nuestra guía de estilo, te va a ayudar mucho.

Salud OS


La franja horaria es GMT +2. Ahora son las 21:54:02.

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