Duda en esta consulta

13/10/2009 - 23:23 por YoTipiando | Informe spam
Hola compañeros.. tengo una consulta donde me muestra en una grilla las
habitaciones que estan OCUPADAS , DISPONIBLES Y RESERVADA

SELECT tp.fecha, tp.nro_habitacion, tp.tipohabitacion,;
IIF(ISNULL(nro_hab),"DISPONIBLE",IIF(nro_hab="2","RESERVADA","OCUPADO
" )) as Estado_hab,tp.ubicacion,;
tp.marca;
FROM temp1 tp LEFT JOIN cur_diasocu ocu ;
ON DTOC(tp.fecha,1)+nro_habitacion = DTOC(ocu.fecha,1)+ocu.nro_hab;
INTO CURSOR cur_fechaDisponibles



la consulta me muestra los datos: y aqui viene la duda. todas las
reservadas me la muestra como OCUPADA salvo que sea la habitacion nro 2
en el segundo IIF " IIF(nro_hab="2","RESERVADA","OCUPADO " )) "
si tengo la habitacion 2 como RESERVADA si aparece como RESERVADA pero si
tengo la habitacion 50 como reservada. me aparece como OCUPADA Ahora
en el segundo IIF si cambio el 2 por el 50 , aparece el 50 como RESERVADA
y el 2 como OCUPADO

Lo que no se como ponerlo para que todas las habitaciones que este
RESERVADA en la consulta me muestre RESERVADA y las OCUPADAS como
OCUPADAS.

bueno muchas gracias desde ahora.. debe de ser sencillo pero no le
encuentro la vuelta de sacar el Nro 2 y poner algo como una Variable con
todos las habitaciones RESERVADAS...

Preguntas similare

Leer las respuestas

#6 YoTipiando
14/10/2009 - 17:23 | Informe spam
en esta consulta me sale lo que quiero hacer

SELECT tp.nro_habitacion, tp.tipohabitacion,;
IIF(ISNULL(nro_hab),"DISPONIBLE",IIF(nro_hab="48","RESERVADA","OCUPADO
" )) as Estado_hab,tp.ubicacion,;
tp.marca,tp.fecha;
FROM temp1 tp LEFT JOIN cur_diasocu ocu ;
ON DTOC(tp.fecha,1)+nro_habitacion = DTOC(ocu.fecha,1)+ocu.nro_hab;
INTO CURSOR cur_fechaDisponibles

en este caso en el segundo IIF la habitacion 48 esta RESERVADA y me sale
como RESERVADA pero no se como encarar que en debe de hacer referencia a
solo el 48 . que sea una variable o algo para que me muestre todas que
estan RESERVADA , asi junto con todas las que estan OCUPADA y todo
las que estan DISPONIBLE




"extremo" escribió en el mensaje de
noticias:
No me queda claro cual es la condicion para conocer cuando una
habitacion se encuantra en estado "reservada"

Bendiciones
Respuesta Responder a este mensaje
#7 Jose A. Blasco
14/10/2009 - 17:41 | Informe spam
¿ Como distingues entre que una habitacion este RESERVADA u OCUPADA ?
Aparentemente, todos los controles los haces por el campo 'nro_hab', que
supongo almacena el número de habitacion. Si en ambos casos (reservada
y ocupada) esta rellenado por el número de habitacion, no podrás
establecer una diferencia.

Un saludo.

José A. Blasco
-
Zaragoza - España


"YoTipiando" escribió en el mensaje
news:

en esta consulta me sale lo que quiero hacer

SELECT tp.nro_habitacion, tp.tipohabitacion,;
IIF(ISNULL(nro_hab),"DISPONIBLE",IIF(nro_hab="48","RESERVADA","OCUPADO
" )) as Estado_hab,tp.ubicacion,;
tp.marca,tp.fecha;
FROM temp1 tp LEFT JOIN cur_diasocu ocu ;
ON DTOC(tp.fecha,1)+nro_habitacion = DTOC(ocu.fecha,1)+ocu.nro_hab;
INTO CURSOR cur_fechaDisponibles

en este caso en el segundo IIF la habitacion 48 esta RESERVADA y me
sale como RESERVADA pero no se como encarar que en debe de hacer
referencia a solo el 48 . que sea una variable o algo para que me
muestre todas que estan RESERVADA , asi junto con todas las que
estan OCUPADA y todo las que estan DISPONIBLE




"extremo" escribió en el mensaje de
noticias:
No me queda claro cual es la condicion para conocer cuando una
habitacion se encuantra en estado "reservada"

Bendiciones



Respuesta Responder a este mensaje
#8 YoTipiando
14/10/2009 - 18:25 | Informe spam
Claro lo que hace es todas las habitaciones estan DISPONIBLES . y a su
vez me muestra las OCUPADAS Y RESERVADA el tema es que en la
consulta las que estan RESERVADA me la muestra como OCUPADAS cuando
realmente estan RESERVADA excepto la nro 48 que es la que esta en el
segundo IIF.

-

"Jose A. Blasco" escribió en el mensaje de
noticias:#
¿ Como distingues entre que una habitacion este RESERVADA u OCUPADA ?
Aparentemente, todos los controles los haces por el campo 'nro_hab', que
supongo almacena el número de habitacion. Si en ambos casos (reservada y
ocupada) esta rellenado por el número de habitacion, no podrás establecer
una diferencia.

Un saludo.

José A. Blasco
-
Zaragoza - España


"YoTipiando" escribió en el mensaje
news:

en esta consulta me sale lo que quiero hacer

SELECT tp.nro_habitacion, tp.tipohabitacion,;
IIF(ISNULL(nro_hab),"DISPONIBLE",IIF(nro_hab="48","RESERVADA","OCUPADO
" )) as Estado_hab,tp.ubicacion,;
tp.marca,tp.fecha;
FROM temp1 tp LEFT JOIN cur_diasocu ocu ;
ON DTOC(tp.fecha,1)+nro_habitacion = DTOC(ocu.fecha,1)+ocu.nro_hab;
INTO CURSOR cur_fechaDisponibles

en este caso en el segundo IIF la habitacion 48 esta RESERVADA y me
sale como RESERVADA pero no se como encarar que en debe de hacer
referencia a solo el 48 . que sea una variable o algo para que me
muestre todas que estan RESERVADA , asi junto con todas las que
estan OCUPADA y todo las que estan DISPONIBLE




"extremo" escribió en el mensaje de
noticias:
No me queda claro cual es la condicion para conocer cuando una
habitacion se encuantra en estado "reservada"

Bendiciones







Respuesta Responder a este mensaje
#9 Jose A. Blasco
15/10/2009 - 09:33 | Informe spam
Creo que no he sabido exponerte mi duda.
Segun tu codigo,

si el campo 'nro_hab' esta vacio (realmente .null.), consideras que la
habitacion esta disponible
si el campo 'nro_hab' es igual a '48', la habitacion esta reservada
si el campo 'nro_hab' es diferente a '48', la habitacion esta ocupada

el campo 'nro_hab' lo tomas del fichero o cursor 'cur_diasocu'.
Mi pregunta es como distingues en este fichero o cursor, entre una
habitacion ocupada o reservada.
Tal como haces el 'select', solo comparas con la habitacion '48'.

Un saludo.
José A. Blasco
-
Zaragoza - España


"YoTipiando" escribió en el mensaje
news:
Claro lo que hace es todas las habitaciones estan DISPONIBLES . y
a su vez me muestra las OCUPADAS Y RESERVADA el tema es que
en la consulta las que estan RESERVADA me la muestra como
OCUPADAS cuando realmente estan RESERVADA excepto la nro 48 que
es la que esta en el segundo IIF.

-

"Jose A. Blasco" escribió en el mensaje de
noticias:#
¿ Como distingues entre que una habitacion este RESERVADA u OCUPADA ?
Aparentemente, todos los controles los haces por el campo 'nro_hab',
que supongo almacena el número de habitacion. Si en ambos casos
(reservada y ocupada) esta rellenado por el número de habitacion, no
podrás establecer una diferencia.

Un saludo.

José A. Blasco
-
Zaragoza - España


"YoTipiando" escribió en el mensaje
news:

en esta consulta me sale lo que quiero hacer

SELECT tp.nro_habitacion, tp.tipohabitacion,;
IIF(ISNULL(nro_hab),"DISPONIBLE",IIF(nro_hab="48","RESERVADA","OCUPADO
" )) as Estado_hab,tp.ubicacion,;
tp.marca,tp.fecha;
FROM temp1 tp LEFT JOIN cur_diasocu ocu ;
ON DTOC(tp.fecha,1)+nro_habitacion =
DTOC(ocu.fecha,1)+ocu.nro_hab;
INTO CURSOR cur_fechaDisponibles

en este caso en el segundo IIF la habitacion 48 esta RESERVADA y
me sale como RESERVADA pero no se como encarar que en debe de
hacer referencia a solo el 48 . que sea una variable o algo para
que me muestre todas que estan RESERVADA , asi junto con todas
las que estan OCUPADA y todo las que estan DISPONIBLE




"extremo" escribió en el mensaje de
noticias:
No me queda claro cual es la condicion para conocer cuando una
habitacion se encuantra en estado "reservada"

Bendiciones







Respuesta Responder a este mensaje
#10 YoTipiando
16/10/2009 - 05:48 | Informe spam
AHORA SI ya te comprendi

es como tu dices en el campo 'nro_hab' si esta vacio (null) es
considerado habitacion DISPONIBLE
en el campo habitacion igual '48' es RESERVADA (siempre y cuando tenga
estado reservada)
y en el campo nro habitacion que sea diferente a 48 , aparecen como
OCUPADAS si tiene es que tiene su estado como OCUPADO , porque sino sera
RESERVADA

osea realmente la habitacion 48 o puede estar RESERVADA o puede estar
OCUPADA o DISPONIBLE no es necesario que se haga referencia a esa sola
habitacion , puse 48 para probar si la consulta me sale.. con una sola
habitacion,, lo que no se como hacerlo con varia habitaciones que esten
RESERVADAS (" es como que en ese 48 que seria el segundo IIF deberia de
ir alguna variable o algun parametro para que me filtre todas las
habitaciones con sus distintos estados y que me lo muestre en la grilla
dependiendo la fecha seleccionada

Nro habitacion : | Estado habitacion
45 - RESERVADA
46 - RESERVADA
47 - RESERVADA
48- RESERVADA

8- DISPONIBLE
9- DISPONIBLE
10- DISPONIBLE

11- OCUPADA
12- OCUPADA
13- OCUPADA y etc

El campo nro_hab lo toma del cursor 'cur_diasocu'

Sobre tu pregunta de como este cursor toma el estado de la habitacion. muy
simple. ya estan registradas en una tabla

Me explico una breve analisis . Llega el pasajero al Hotel , el
operador efectua un Alta de Estadia verificando la disponibilidad de las
habitaciones ("las que estan disponibles") segun la fecha selecionada un
DESDE HASTA . cuando el operador da de alta a ese pasajero la habitacion
seleccionada por ejemplo 6 automaticamente cambia su estado ("EN LA BD")
de DISPONIBLE a OCUPADA . que lo mismo pasa cuando el pasajero llama por
telefono a pedir una reserva. el operador selecciona una habitacion que
esta en estado DISPONIBLE Ejemplo habitacion Nro 20 y automaticamente
ese estado pasa a ser RESERVADA . segun la fecha que el operador indique

En la consulta que trato de hacer es que me muestre en una grilla .
todas las habitaciones DISPONIBLES , RESERVADAS Y OCUPADAS filtrando la
fecha seleccionada DESDE y HASTA por ejemplo muestrame el estado
de las habitaciones entre la fecha DESDE el 20/10/09 HASTA el 25/10/09
y asi sucesivamente

Espero que ahora me entiendan estoy desesperado ya quiero terminar con mi
tesis y entregarla... a la Profe..

:(



"Jose A. Blasco" escribió en el mensaje de
noticias:#
Creo que no he sabido exponerte mi duda.
Segun tu codigo,

si el campo 'nro_hab' esta vacio (realmente .null.), consideras que la
habitacion esta disponible
si el campo 'nro_hab' es igual a '48', la habitacion esta reservada
si el campo 'nro_hab' es diferente a '48', la habitacion esta ocupada

el campo 'nro_hab' lo tomas del fichero o cursor 'cur_diasocu'.
Mi pregunta es como distingues en este fichero o cursor, entre una
habitacion ocupada o reservada.
Tal como haces el 'select', solo comparas con la habitacion '48'.

Un saludo.
José A. Blasco
-
Zaragoza - España


"YoTipiando" escribió en el mensaje
news:
Claro lo que hace es todas las habitaciones estan DISPONIBLES . y a
su vez me muestra las OCUPADAS Y RESERVADA el tema es que en la
consulta las que estan RESERVADA me la muestra como OCUPADAS
cuando realmente estan RESERVADA excepto la nro 48 que es la que
esta en el segundo IIF.

-

"Jose A. Blasco" escribió en el mensaje de
noticias:#
¿ Como distingues entre que una habitacion este RESERVADA u OCUPADA ?
Aparentemente, todos los controles los haces por el campo 'nro_hab', que
supongo almacena el número de habitacion. Si en ambos casos (reservada
y ocupada) esta rellenado por el número de habitacion, no podrás
establecer una diferencia.

Un saludo.

José A. Blasco
-
Zaragoza - España


"YoTipiando" escribió en el mensaje
news:

en esta consulta me sale lo que quiero hacer

SELECT tp.nro_habitacion, tp.tipohabitacion,;
IIF(ISNULL(nro_hab),"DISPONIBLE",IIF(nro_hab="48","RESERVADA","OCUPADO
" )) as Estado_hab,tp.ubicacion,;
tp.marca,tp.fecha;
FROM temp1 tp LEFT JOIN cur_diasocu ocu ;
ON DTOC(tp.fecha,1)+nro_habitacion = DTOC(ocu.fecha,1)+ocu.nro_hab;
INTO CURSOR cur_fechaDisponibles

en este caso en el segundo IIF la habitacion 48 esta RESERVADA y me
sale como RESERVADA pero no se como encarar que en debe de hacer
referencia a solo el 48 . que sea una variable o algo para que me
muestre todas que estan RESERVADA , asi junto con todas las que
estan OCUPADA y todo las que estan DISPONIBLE




"extremo" escribió en el mensaje de
noticias:
No me queda claro cual es la condicion para conocer cuando una
habitacion se encuantra en estado "reservada"

Bendiciones













Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida