Visual Basic - Sentencia sql en VB

Life is soft - evento anual de software empresarial
 
Vista:

Sentencia sql en VB

Publicado por Renzy (10 intervenciones) el 31/01/2006 19:11:38
Hola.

Tengo un datagrid con adodb en el cual hay 2 campos hora inicio y hora termino, necesito una sentencia sql para ordenarlos por los horarios mas usados.

por ejemplo si tengo 5 horarios y hay 3 de ellos entre las 2 y las 3 de la tarde y los otros a las 9 y a las 10 que ordene los 3 que estan entre las 2 y las 3 y luego ponga los otros que quedan.
Alguien me puede ayudar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sentencia sql en VB

Publicado por Luis Prieto (166 intervenciones) el 04/02/2006 19:49:08
Lo que puedes hacer es esto, crea un campo llamado CodigoHorario y a cada horario le asignas un codigo digamos 1 mañana, 2 tarde, 3 noche y suscesivamente vas añadiendo los registros y despues haces una consulta SQL que te liste toda la informacion con un group by codigoHorario y order by desc

ejemplo: select codigoHoraio,HoraInico,Horatermino,count(codigoHoraio) as HoraioMasConcurrido from horario group by codigoHoraio,HoraInico,Horatermino order by count(codigoHoraio)

ese seria un camino.

Pero, por lo que veo tu tabla no esta normalizada, por lo que tienes que hacer una normailzacion de ahi puede sacar dos tablas una llamada horaio y la otra detalle de horario para que asi no tengas redundancia de informacion.

Horario DetalleHorario
CodigoHorario <-------------> CodigoHorario 'campos de relacion Descripcion FechaInicio
FechaTermino

de tal manera que el codigo de ambas tablas sirven de relacion.
esto seria lo mas optimo y despues haces una consulta SQL

SELECT H.CodigoHorario, H.Descripcion, DH.HoraInicio, DH.Horatermino, Count(H.CodigoHorario) AS HoraMasUsada
FROM H INNER JOIN HD ON H.CodigoHorario = HD.CodigoHorario
GROUP BY H.CodigoHorario, H.Descripcion, HD.HoraInicio, HD.Horatermino
ORDER BY Count(H.CodigoHorario) DESC;

y eso seria todo.

espero te sirva

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar