FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consultar valores de una tabla que no esten en otras dos tablas
Hola, que tal? Tengo un problema, quiero hacer una consulta que me devuelva valores que no se encuentren en otras 2 tabla. En una consulta anterior, usando el operador not in resolvi la operacion de que me devuelva los valores que no se encontraban en una tabla. Pero al querer usar 2 veces el not in no me deja. Le dejo como tengo la consulta hasta el momento, espero su respuesta, gracias
Select H.NroHabitacion,H.IdTipo From Habitaciones H Where (H.idHabitacion not in (Select R.IdHabitacion From ClienteReservaHabitacion R)) or (H.idHabitacion not in (Select O.IdHabitacion From ClienteOcupaHabitacion O) ) Order By H.IdTipo,H.NroHabitacion |
#2
|
||||
|
||||
Esto no lo entiendo: ¿Quién no te deja? Es decir, ¿por qué no te deja? ¿Qué error se produce, si es que se produce?
Y, por cierto, para la próxima vez: |
#3
|
||||
|
||||
Si por lo menos supiésemos lo que quiere hacer, por qué, qué campos, qué es cada uno, qué problema tiene, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
Cita:
Lo que tú quieres hacer es que te devuelva los registros que no estén en ClientesReservaHabitacion y también que no estén en ClientesOcupaHabitacion, pues en vez de or pon un and, no utilices alias, ya que estos no se utilizan en ningún lado.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#5
|
|||
|
|||
Consulta SQL a access entre 2 fechas
Hola, como va? Tengo un problema, estoy haciendo un programa gestor de las reservas de un hotel. Al momento de hacer una nueva reserva me debe seleccionar las fechas en las que quiere la reserva y el tipo de habitacion, y al consultar le deben saltar todas las habitaciones libres de ese tipo y en esas fechas.
Yo tengo una tabla de HABITACIONES, y otra de RESERVAS, yo intente hacer con que me muestre todas las habitaciones de la tabla HABITACIONES del tipo que me indican y saque las que esten reservadas entre las fechas que me indican consultandolo en la tabla RESERVAS, pero esa subconsulta no me devuelve resultados si la hago adentro.(la probe aparte y tiraba resultados) Les dejo como tengo la consulta a ver si me pueden ayudar. Gracias y saludos
|
#6
|
||||
|
||||
Si la consulta funciona fuera del programa yo creo que la cosa está en como le mandas los parámetros y el valor...
Lo que noto es que usas dos parámetros duplicados en la consulta, te convendría hacer cuatro parámetros diferentes y además checar que la fecha inicial sea menor a la final... Checa esto y después nos comentas
__________________
Herr Heins Faust |
#7
|
|||
|
|||
lo voy a probar
Buenisimo, ahora lo pruebo. Te cuento que lo que me decis que pruebe de la fecha final sea mayor a la inicial lo pruebo afuera del prrograma
Saludos |
#8
|
|||
|
|||
No funciono
Hola, probe poniendo mas parametros para que no hayan duplicados y no me devuelve nada la consulta. Nose que puede pasar. Te paso como quedo:
Espero que alguien tenga alguna solucion. Gracias |
#9
|
||||
|
||||
¿Puedes poner la estructura de las tablas implicadas y exactamente qué campos necesitas y con qué filtro?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#10
|
|||
|
|||
ayuda
Disculpa, como pongo la estructura? xq no se como hacerlo, soy nuevo. Gracias.
|
#11
|
|||
|
|||
Nose si sera asi pero te lo paso
Nose si sera asi pero te paso las estructuras:
TABLA HABITACIONES NroHabitacion - IdTipo - idHabitacion TABLA ClIENTERESERVAHABITACION IdCliente - IdHabitacion - FechaIngreso - FechaSalida - ValorReserva - Seña TABLA CLIENTEOCUPAHABITACION IdCliente - IdHabitacion - FechaIngreso - FechaSalida - ValorReserva - Seña El fin es mostrar todas las habitaciones de la tabla habitaciones del tipo que me pasan por parametro y que esten libres entre dos fechas que me pasan por parametro para hacer la reserva. Es decir, de las habitaciones de la tabla habitaciones no debe mostrar ademas, las que esten reservadas o ocupadas en esas fechas(es decir filtrar por las fechas que me pasan y las fechas de ingreso y salida). En fin, los filtros se hacen por el IdTipo de la tabla habitaciones y por las fechas de ingreso y salida que estan en la tabla RESERVA y OCUPADOS. espero sepan entender. Gracias |
#12
|
||||
|
||||
Hola Juanma92
No se si has visto lo que te conteste en esta consulta, lo único que tienes que hacer es adaptarla a lo que quieres. Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#13
|
||||
|
||||
Ya me parecía que me sonaba esa pregunta y ese select. He unido ambos hilos, por favor, si no has conseguido solucionar tu duda entonces no abras otro hilo, sigue en el que has creado primeramente. Gracias por tu colaboración.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#14
|
||||
|
||||
Creo que mejor lo haces con un stored procedure, le pasas las fechas que solicita el cliente y ahí lo procesas mejor.
¡Ops!, con access , creo que no puedes. Entonces te aconsejo el "divide y vencerás?. Primero compruebas en la tabla de ocupadas y si está libre entonces compruebas en la tabla reservas. En dos pasos. Más simple y claro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#15
|
|||
|
|||
Y como lo hago?
Y como hago para consultar en una y luego en otra? Si en delphi desp necesito comunicar a un dbgrid? Por eso lo hacia todo en una consulta
|
#16
|
|||
|
|||
Hola olbeup, sisi lo vi, y lo hice asi y me salio. Gracias. Ahora en esta quise hacer algo parecido agregando parametros a cada una de las subconsultas y un parametro mas en el where. Pero no me devuelve nada
|
#17
|
||||
|
||||
Cita:
Entonces hay que comprobar que tanto en reservadas como en ocupadas no estén entre esas fechas, bien. Pienso que en lugar de buscar las ocupadas en esas fechas, hay que buscar las libres, por ejemplo, todas las que la fechaingreso sea mayor (¿o igual?) que la fecha salida de reservas/ocupadas serán válidas. Y por el mismo motivo, todas las que fechasalida sea menor (¿o igual?) que fechaentrada de reservas/ocupadas también serán válidas. Por supuesto, se supone que se controla que las fechas dadas por el cliente son correctas, fechaentrada < fechasalida Suponemos que las fechas que ha pedido el cliente están en las variables de fecha: desdefecha, hastafecha Creo que es eso lo que quieres.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 29-11-2012 a las 15:27:24. |
#18
|
||||
|
||||
Creo que no, que tampoco es así.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#19
|
|||
|
|||
claro
Claro, es algo asi, pero en la tabla reservas y ocupadas yo tengo solo habitaciones en uso, es decir que yo tengo que listar todas las habitaciones de la tabla Habitaciones, que no esten en las tablas Reservas o en ocupadas entre las fechas que me da y ademas que sean del tipo que me pide. Se entiende?
|
#20
|
||||
|
||||
Bien, pues le añades el tipo
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta entre 2 fechas. | DeLiRioS | MySQL | 14 | 29-04-2013 19:36:35 |
Consulta Mysql Suma entre rango de fechas | kaeltas | MySQL | 4 | 22-06-2012 22:30:44 |
Consulta entre fechas con ADO | radenf | Varios | 7 | 16-12-2010 13:06:35 |
Obtener consulta entre fechas | maravert | MySQL | 1 | 16-11-2009 23:44:15 |
slq entre dos fechas comparar fechas | taru | MySQL | 2 | 30-07-2007 17:10:36 |
|