Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 29-11-2012
juanma92 juanma92 is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 18
Poder: 0
juanma92 Va por buen camino
Voy a probar

Bueno, voy a probar, pero algo asi lo tenia. Gracias. Te aviso
Responder Con Cita
  #22  
Antiguo 29-11-2012
juanma92 juanma92 is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 18
Poder: 0
juanma92 Va por buen camino
Sigue sin andar

Puse la consulta como me dijiste:
Código SQL [-]
Select H.NroHabitacion,H.IdTipo,H.idHabitacion
From Habitaciones H
Where H.IdTipo = :tipo
and (H.IdHabitacion not in (Select R.IdHabitacion
                         From ClienteReservaHabitacion R
                         Where R.FechaSalida <= :desdefecha
                         or    R.FechaIngreso >= :hastafecha)
or H.IdHabitacion not in (Select O.IdHabitacion
                         From ClienteOcupaHabitacion O
                         Where O.FechaSalida <= :desdefecha
                         or    O.FechaIngreso >= :hastafecha)
)
Order By H.NroHabitacion
Y sigue sin andar, no me devuelve nada.... Nose donde ppuede estar el problema, porque probe las subconsultas por separado, y todas andan, ahora bien cuando las junto no me devuelve nada :/ Te mando como les paso los parametros:

Código Delphi [-]
 dm.ConNuevaReserva.Close;
    dm.ConNuevaReserva.Parameters.ParamByName('tipo').Value :=
      DBLookupComboBox1.KeyValue;
    dm.ConNuevaReserva.Parameters.ParamByName('desdefecha').Value :=
      DateTimePicker1.Date;
    dm.ConNuevaReserva.Parameters.ParamByName('hastafecha').Value :=
      DateTimePicker2.Date;
Responder Con Cita
  #23  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Has comprobado que hay datos válidos en la BD para que devuelva valores?
Responder Con Cita
  #24  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
De todas formas, esa no es la sentencia sql que yo te he puesto, tú has puesto and y or, yo he puesto and y and
Responder Con Cita
  #25  
Antiguo 29-11-2012
juanma92 juanma92 is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 18
Poder: 0
juanma92 Va por buen camino
Sisi, la tabla habitaciones tiene muchas habitaciones, y en cambio la tabla de reservas o ocupados estan casi vacias. Algunas habitaciones tiene q devolver. Y las fechas no coinciden ademas
Responder Con Cita
  #26  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Puedes pasarlo algunos datos en formato csv (por ejemplo) para hacer pruebas?
Responder Con Cita
  #27  
Antiguo 29-11-2012
juanma92 juanma92 is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 18
Poder: 0
juanma92 Va por buen camino
te paso la BD?
Responder Con Cita
  #28  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanma92 Ver Mensaje
te paso la BD?
Es que yo no tengo nada para leer access, por eso decía de exportar a csv, dbf (puede que también lo lea), txt, etc. algún formato más o menos estandar.
Responder Con Cita
  #29  
Antiguo 29-11-2012
juanma92 juanma92 is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 18
Poder: 0
juanma92 Va por buen camino
Te adjunto en un rar las tablas en txt
Archivos Adjuntos
Tipo de Archivo: rar Tablas.rar (823 Bytes, 2 visitas)
Responder Con Cita
  #30  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Dime algunos ejemplos que hayas probado, tipo y fechas de ingreso y salida, para probar con los mismos datos que no te salen.
Responder Con Cita
  #31  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
He hecho una pruebecita con estos datos y funciona correctamente, creo.
Código SQL [-]
select h.nrohabitacion, h.idtipo, h.idhabitacion
from tbhabitaciones h
where h.idtipo = 1
and h.idhabitacion  in (select r.idhabitacion
                         from tbreservadas r
                         where r.fechasalida <= '01.12.2012'
                         or    r.fechaingreso >= '03.12.2012')
and h.idhabitacion  in (select o.idhabitacion
                         from tbocupadas o
                         where o.fechasalida <= '01.12.2012'
                         or    o.fechaingreso >= '03.12.2012')
order by h.nrohabitacion
Responder Con Cita
  #32  
Antiguo 29-11-2012
juanma92 juanma92 is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 18
Poder: 0
juanma92 Va por buen camino
Estuve mirando y yo tengo igual y no me devuelve nada. Salvo que entre los in va un or no un and xq en cualqiera de las tablas que este no qiero que aparesca. Con el and las saca las que estan en las dos si o si
Responder Con Cita
  #33  
Antiguo 29-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanma92 Ver Mensaje
Estuve mirando y yo tengo igual y no me devuelve nada. Salvo que entre los in va un or no un and xq en cualqiera de las tablas que este no qiero que aparesca. Con el and las saca las que estan en las dos si o si
Pero date cuenta que yo no estoy buscando las fechas que puedan coincidier, sino las que no coinciden, por eso creo que debe ser AND.

Porque a mí si me devuelve registros.

Veamos, con los parámetros que yo he usado en el ejemplo que he puesto ahí, ¿no te devuelve nada?

Última edición por Casimiro Notevi fecha: 29-11-2012 a las 22:28:21.
Responder Con Cita
  #34  
Antiguo 30-11-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Pues eso le dije yo que habilitara la SQL que le puse y también ¿para que quieres los alias si no los vas a utilizar?

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #35  
Antiguo 30-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por olbeup Ver Mensaje
¿para que quieres los alias si no los vas a utilizar?
Los alias (desconozco access) sirven para que no exista confusión con los nombres de los campos de distintas tablas, tanto para el sistema como para nosotros mismos. En otros sistemas (desconozco access) es imprescindible cuando se realiza una sentencia donde intervienen más de una tabla, incluso obligatorio en algunos casos.
Además de que queda más claro para nosotros.
Responder Con Cita
  #36  
Antiguo 03-12-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Casimiro notevi, sé cómo se utilizan los alias, las SQL's que ha puesto el compañero no las utiliza para nada, en access y en cualquier base de datos se utilizan los alias siempre y cuando al menos un campo estén en ambas DB, internamente el MS Access no utiliza alias sino las pones utiliza el nombre de la base de datos seguida del campo.

Si abres el programa MS Access y construyes una SQL sin alias y la ejecutas y después quieres ver la SQL, vera que MS Access te ha añadido el nombre de la base de datos y luego el campo.

Si quieres utilizar los alias aunque no los utilices, OK, pero es un gasto innecesario para mi.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #37  
Antiguo 03-12-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Jamás he usado access, he puesto una sql estandar para todas las BD.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta entre 2 fechas. DeLiRioS MySQL 14 29-04-2013 18:36:35
Consulta Mysql Suma entre rango de fechas kaeltas MySQL 4 22-06-2012 21:30:44
Consulta entre fechas con ADO radenf Varios 7 16-12-2010 12:06:35
Obtener consulta entre fechas maravert MySQL 1 16-11-2009 22:44:15
slq entre dos fechas comparar fechas taru MySQL 2 30-07-2007 16:10:36


La franja horaria es GMT +2. Ahora son las 13:57:59.


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
Copyright 1996-2007 Club Delphi