Cual es la mejor forma de implementar un Group by...

26/08/2009 - 04:21 por YoTipiando | Informe spam
siempre tube problema con las consultas GROUP BY nunca hacen lo que quiero
filtrar. por ejemplo tengo esta

SELECT
cur_fechaseleccionada.nro_habitacion,cur_fechaseleccionada.tipohabitacion,;
cur_fechaseleccionada.estado_hab,cur_fechaseleccionada.ubicacion,;
cur_fechaseleccionada.marca,cur_fechaseleccionada.fecha FROM
cur_fechaseleccionada;
where cur_fechaseleccionada.tipohabitacion=xtipoHabitacion_disponible AND ;
cur_fechaseleccionada.fecha=>xfechaDesde1;
AND cur_fechaseleccionada.fecha<=xfechaHasta2;
GROUP BY
cur_fechaseleccionada.nro_habitacion,cur_fechaseleccionada.tipohabitacion,;
cur_fechaseleccionada.estado_hab,cur_fechaseleccionada.ubicacion,;
cur_fechaseleccionada.marca,cur_fechaseleccionada.fecha;
INTO CURSOR cu_consul_fechaseleccionada


el tema es que consulto habitaciones disponbles segun la fecha pero que
hace si consulto una habitacion segun su tipo de habitacion ("SIMPLE") que
hace.!!! se multiplica la misma habitacion segun la cantidad de dias puesto
en la fechas disponibles. me explico

si pongo consultar la habitacion 23 SIMPLE , lunes martes y miercoles.
pues me aparece tres veces la 23 SIMPLE

la idea es que solo aparezca una sola vez no importa la fecha que
consultas.



que opinan. gracias de ante manos.

Preguntas similare

Leer las respuestas

#1 Mario Dal Degan
26/08/2009 - 14:50 | Informe spam
Si tienes problemas frecuentemente te puedo recomendar utilizar el asistente
para vistas y analizar los resultados que surgen a partir de como armes tu
vista. No es una forma académica ni ortodoxa pero me ha dado resultado.


"YoTipiando" escribió en el mensaje
news:
Mostrar la cita
#2 extremo
26/08/2009 - 15:30 | Informe spam
On 25 ago, 22:21, "YoTipiando"
wrote:
Mostrar la cita
Si te aparece tres veces la 23 SIMPLE la respuesta es simple. es
porque esa habitacion esta disponible los dias lunes martes y
miercoles. Si quieres que te aparesca una sola vez tendrias que acotar
mas el group by pero te daria una consulta erronea, lo mas probable es
que te aparesca 23 SIMPLE dia miercoles.

Si no vas a mostrar la fecha y solo te importa la habitacion
coloca este group by
GROUP BY

cur_fechaseleccionada.nro_habitacion,cur_fechaseleccionada.tipohabitacion,;
cur_fechaseleccionada.estado_hab,cur_fechaseleccionada.ubicacion,;
cur_fechaseleccionada.marca

El campo cur_fechaseleccionada.estado_hab podria hacer que te repita
la habitacion si tiene distintos estados para los dias lunes martes y
miercoles

Bendiciones...espero haber sido de ayuda
#3 YoTipiando
31/08/2009 - 03:36 | Informe spam
Hola amigo gracias por contestar.. esa seria la idea de filtrar como
unica vez las habitaciones disponibles sin que muestre la fecha... ya que
no es necesario mostras las fechas porque eso lo estoy haciendo para
verificar cuales son los dias que esa habitacion esta disponible...

si por ejemplo habiatacion SIMPLE son 5 , 20 y 30 hago una consulta
de lunes a miercoles , y si estan disponibles que solo salgan una sola vez
y no tres veces por cada habitacion.

en caso de que la habitacion 20 este ocupada esos dias, solo apareceran
la 5 y la 30 , o si la 20 esta ocupada hasta el martes , aparecera el
miercoles,, pero bueno ya esa consulta la tengo realizada el tema es que
se me repite la misma habitacion por x cantidad de dias que consulte...

probare tu ejemplo y te aviso...

"extremo" escribió en el mensaje de
noticias:
Mostrar la cita
#4 YoTipiando
31/08/2009 - 03:38 | Informe spam
las vistas.. ??? como lo hago para depurar uso mucho el SET STEP ON
pero en este caso tendria que analizar una sintax..

"Mario Dal Degan" escribió en el mensaje de
noticias:
Mostrar la cita
#5 YoTipiando
31/08/2009 - 03:49 | Informe spam
hola amigo me dio resultado tu ejemplo sacandole la fecha al Group by ,
pero tambien se la tube que sacar al renglon del select porque sino me daba
error de sintax..

gracias nuevamente

"YoTipiando" escribió en el mensaje de
noticias:##cr#
Mostrar la cita
Ads by Google
Search Busqueda sugerida