Consulta complicada

28/06/2007 - 16:30 por Daniel | Informe spam
Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la que
tiene los datos del alojamiento (Alojamientos) y la otra es la que tien los
datos de la reservas efectuadas sobre los alojamientos (Reservas), unidas
por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas.

Se me complica la consulta por que la relación de las tablas es nula, espero
que me puedan ayudar y darme algunos consejos o directamete la consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.

Cualquier duda me preguntan
Gracias

Preguntas similare

Leer las respuestas

#6 Daniel
28/06/2007 - 23:30 | Informe spam
Hola

Antes que nada gracias

El estado PENDIENTE es un estado previo al estado RESERVADA, es un estado
temporal hasta su confirmación, en el caso de no confirmación de la reserva
el registro se elimina.

Exactamente la relación entre las tablas es Reservas.AlojamientoID =
Alojamientos.ItemID, y justamente debemos generar registros sobre datos que
no existen en la tabla Reservas.

Por consiguiente un alojamiento se considera DISPONIBLE en un determinado
día cuando no existen registros en la tabla Reserva para ese día y para ese
alojamiento.

Bueno ese es el razonamiento que yo he utilizado, y no significa que sea el
mejor, quizás exista otro planteamiento mejor, pero si logro generar esta
consulta no tendré que cambiarlo.

Gracias Jesus



"Jesús López" escribió en el mensaje
news:
Daniel,

¿Qué diferencia hay entre reservada y pendiente?

Por otra parte qué significan las fechas Desde, Hasta, Entrada y Salida.
En el ejemplo todas estas fechas son la misma.

Por cierto no es posible saber qué alojamientos están libres si no existe
una relación entre las dos tablas. Yo me imagino que el IdAlojamiento de
la tabla Reservas se corresponde con el ItemID de la tabla Alojamientos.
¿Es esto cierto?

En términos de los datos de esas tablas ¿cuando un alojamiento se
considera disponible en un determinado día?

Saludos:

Jesús López.
Solid Quality Mentors
www.solidq.com

"Daniel" escribió en el mensaje
news:
Hay está el script para crear las tablas y llenar algunos registros


Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
que
tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
los
datos de la reservas efectuadas sobre los alojamientos (Reservas), unidas
por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas. Debería devolver 1
fila por cada alojamiento y por cada día en el rango de fechas
especificado.

Se me complica la consulta por que la relación de las tablas es nula,
espero
que me puedan ayudar y darme algunos consejos o directamete la consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.

El script lo hice en SQL Server2000

Cualquier duda me preguntan
Gracias



"Daniel" escribió en el mensaje
news:
Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
que
tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
los
datos de la reservas efectuadas sobre los alojamientos (Reservas),
unidas
por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas.

Se me complica la consulta por que la relación de las tablas es nula,
espero
que me puedan ayudar y darme algunos consejos o directamete la consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de
resolverlos.

Cualquier duda me preguntan
Gracias













Respuesta Responder a este mensaje
#7 Daniel
28/06/2007 - 23:31 | Informe spam
Alejandro qaquí va el script...

*******************************************************************************************
USE [master]

GO

/*************************************************************/

/** Drop database [TEST] **/

/*************************************************************/

IF EXISTS (SELECT name FROM dbo.sysdatabases WHERE name = N'TEST')

DROP DATABASE [TEST]

GO

/*************************************************************/

/** Create database [TEST] **/

/*************************************************************/

CREATE DATABASE [TEST]

GO

USE [test]

GO

/*************************************************************/

/** Drop Table [Alojamientos] **/

/*************************************************************/

if exists (select * from dbo.sysobjects where id =
object_id(N'alojamientos]') and OBJECTPROPERTY(id, N'IsTable') = 1)

DROP TABLE [dbo].[Alojamientos]

/*************************************************************/

/** Drop Table [Reservas] **/

/*************************************************************/

if exists (select * from dbo.sysobjects where id = object_id(N'reservas]')
and OBJECTPROPERTY(id, N'IsTable') = 1)

DROP TABLE [dbo].[Reservas]

/*************************************************************/

/** Create Table [Alojamientos] **/

/*************************************************************/

if not exists (select * from dbo.sysobjects where id =
object_id(N'[Alojamientos]') and OBJECTPROPERTY(id, N'IsTable') = 1)

BEGIN

CREATE TABLE [Alojamientos]

(

[ModuleID] [int],

[ItemID] [int] NOT NULL IDENTITY(1, 1),

[CreatedByUserID] [int],

[CreatedDate] [datetime] DEFAULT GETDATE(),

[UpdatedDate] [datetime] DEFAULT GETDATE(),

[ComplejoID] [int],

[Title] [varchar] (200),

[Numero] [smallint],

[CheckIn] [varchar] (5),

[CheckOut] [varchar] (5),

[Tarifa] [smallmoney],

[Tipo_Senia] [varchar] (1),

[Senia] [smallint],

[Estrellas] [smallint],

[Capacidad] [smallint],

[Descripcion] [varchar] (2000),

[Servicios] [varchar] (2000)

)

ALTER TABLE [Alojamientos] ADD CONSTRAINT [PK_Alojamientos] PRIMARY KEY
CLUSTERED ([ItemID])

END

GO

/*************************************************************/

/** Create Table [Reservas] **/

/*************************************************************/

if not exists (select * from dbo.sysobjects where id =
object_id(N'[Reservas]') and OBJECTPROPERTY(id, N'IsTable') = 1)

BEGIN

CREATE TABLE [Reservas]

(

[ModuleID] [int],

[ItemID] [int] NOT NULL IDENTITY(1, 1),

[CreatedByUserID] [int],

[CreatedDate] [datetime] DEFAULT GETDATE(),

[UpdatedDate] [datetime] DEFAULT GETDATE(),

[AlojamientoID] [int],

[TuristaID] [int],

[Estado] [varchar] (10),

[ExpireDate] [datetime],

[Desde] [datetime],

[Hasta] [datetime],

[Entrada] [datetime],

[Salida] [datetime],

[Comentario] [varchar] (2000)

)

ALTER TABLE [Reservas] ADD CONSTRAINT [PK_Reservas] PRIMARY KEY CLUSTERED
([ItemID])

END

GO

/*************************************************************/

/** Insert Data in Table [Alojamientos] **/

/*************************************************************/

INSERT INTO [dbo].[Alojamientos]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[ComplejoID],[Title],[Numero],[CheckIn],[CheckOut],[Tarifa],[Tipo_Senia],[Senia],[Estrellas],[Capacidad],[Descripcion],[Servicios])

VALUES (1,1,getdate(),getdate(),1,'',1,'12:00','12:00',100,'P',10,3,3,'','')

INSERT INTO [dbo].[Alojamientos]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[ComplejoID],[Title],[Numero],[CheckIn],[CheckOut],[Tarifa],[Tipo_Senia],[Senia],[Estrellas],[Capacidad],[Descripcion],[Servicios])

VALUES (1,1,getdate(),getdate(),1,'',2,'12:00','12:00',90,'P',10,3,3,'','')

INSERT INTO [dbo].[Alojamientos]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[ComplejoID],[Title],[Numero],[CheckIn],[CheckOut],[Tarifa],[Tipo_Senia],[Senia],[Estrellas],[Capacidad],[Descripcion],[Servicios])

VALUES (1,1,getdate(),getdate(),1,'',3,'12:00','12:00',120,'P',10,3,3,'','')

INSERT INTO [dbo].[Alojamientos]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[ComplejoID],[Title],[Numero],[CheckIn],[CheckOut],[Tarifa],[Tipo_Senia],[Senia],[Estrellas],[Capacidad],[Descripcion],[Servicios])

VALUES (1,1,getdate(),getdate(),1,'',4,'12:00','12:00',150,'P',10,3,3,'','')



/*************************************************************/

/** Insert Data in Table [reservas] **/

/*************************************************************/

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 1, 1, 'RESERVADA', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 1, 1, 'PENDIENTE', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 2, 1, 'RESERVADA', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 2, 1, 'RESERVADA', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 3, 1, 'RESERVADA', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 3, 1, 'PENDIENTE', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 3, 1, 'RESERVADA', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

INSERT INTO [dbo].[Reservas]
([ModuleID],[CreatedByUserID],[CreatedDate],[UpdatedDate],[AlojamientoID],[TuristaID],[Estado],[ExpireDate],[Desde],[Hasta],[Entrada],[Salida],[Comentario])

VALUES (1, 1, getdate(), getdate(), 4, 1, 'RESERVADA', getdate(), getdate(),
getdate(), getdate(), getdate(),'')

*******************************************************************************************



Gracias





"Alejandro Mesa" escribió en el
mensaje news:
Hola daniel,

Crees que puedas postear el script dentro del mensaje?

Los que accesamos a este grupo via IE, no tenemos acceso a los archivos
atachados.


AMB

"Daniel" wrote:

Hay está el script para crear las tablas y llenar algunos registros


Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
que
tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
los
datos de la reservas efectuadas sobre los alojamientos (Reservas),
unidas
por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas. Debería devolver 1
fila
por cada alojamiento y por cada día en el rango de fechas especificado.

Se me complica la consulta por que la relación de las tablas es nula,
espero
que me puedan ayudar y darme algunos consejos o directamete la consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.

El script lo hice en SQL Server2000

Cualquier duda me preguntan
Gracias



"Daniel" escribió en el mensaje
news:
> Buenas
>
> En un procedimiento almacenado tengo que hacer los siguiente...
>
> Dada 2 tablas, concretamente es para reservas de alojamientos, una es
> la
> que
> tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
> los
> datos de la reservas efectuadas sobre los alojamientos (Reservas),
> unidas
> por un campo de identificación.
>
> El SP debe devolver una consulta con la lista alojamientos que estan
> disponibles día por día, o sea la lista de los alojamientos que en un
> un
> rango de fechas especificadas no esten reservadas.
>
> Se me complica la consulta por que la relación de las tablas es nula,
> espero
> que me puedan ayudar y darme algunos consejos o directamete la
> consulta.
> Luego tengo otros parámetros de filtros que yo me ocuparé de
> resolverlos.
>
> Cualquier duda me preguntan
> Gracias
>
>
>
>



Respuesta Responder a este mensaje
#8 Alejandro Mesa
29/06/2007 - 14:44 | Informe spam
Hola daniel,

Por consiguiente un alojamiento se considera DISPONIBLE en un determinado
día cuando no existen registros en la tabla Reserva para ese día y para ese
alojamiento.



Cuales de las columnas datetime de la tabla [reservas] debemos usar para
chequear la existencia de un alojamiento, [desde] - [hasta]?

declare @d datetime

set @d = '20070704'

select *
from [dbo].[Alojamientos] as a
where not exists (
select *
from [dbo].[Reservas] as r
where r.[AlojamientoID] = a.[ItemID]
and @d between r.desde] and r[hasta]
)
go


AMB

"Daniel" wrote:

Hola

Antes que nada gracias

El estado PENDIENTE es un estado previo al estado RESERVADA, es un estado
temporal hasta su confirmación, en el caso de no confirmación de la reserva
el registro se elimina.

Exactamente la relación entre las tablas es Reservas.AlojamientoID =
Alojamientos.ItemID, y justamente debemos generar registros sobre datos que
no existen en la tabla Reservas.

Por consiguiente un alojamiento se considera DISPONIBLE en un determinado
día cuando no existen registros en la tabla Reserva para ese día y para ese
alojamiento.

Bueno ese es el razonamiento que yo he utilizado, y no significa que sea el
mejor, quizás exista otro planteamiento mejor, pero si logro generar esta
consulta no tendré que cambiarlo.

Gracias Jesus



"Jesús López" escribió en el mensaje
news:
> Daniel,
>
> ¿Qué diferencia hay entre reservada y pendiente?
>
> Por otra parte qué significan las fechas Desde, Hasta, Entrada y Salida.
> En el ejemplo todas estas fechas son la misma.
>
> Por cierto no es posible saber qué alojamientos están libres si no existe
> una relación entre las dos tablas. Yo me imagino que el IdAlojamiento de
> la tabla Reservas se corresponde con el ItemID de la tabla Alojamientos.
> ¿Es esto cierto?
>
> En términos de los datos de esas tablas ¿cuando un alojamiento se
> considera disponible en un determinado día?
>
> Saludos:
>
> Jesús López.
> Solid Quality Mentors
> www.solidq.com
>
> "Daniel" escribió en el mensaje
> news:
>> Hay está el script para crear las tablas y llenar algunos registros
>>
>>
>> Buenas
>>
>> En un procedimiento almacenado tengo que hacer los siguiente...
>>
>> Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
>> que
>> tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
>> los
>> datos de la reservas efectuadas sobre los alojamientos (Reservas), unidas
>> por un campo de identificación.
>>
>> El SP debe devolver una consulta con la lista alojamientos que estan
>> disponibles día por día, o sea la lista de los alojamientos que en un un
>> rango de fechas especificadas no esten reservadas. Debería devolver 1
>> fila por cada alojamiento y por cada día en el rango de fechas
>> especificado.
>>
>> Se me complica la consulta por que la relación de las tablas es nula,
>> espero
>> que me puedan ayudar y darme algunos consejos o directamete la consulta.
>> Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.
>>
>> El script lo hice en SQL Server2000
>>
>> Cualquier duda me preguntan
>> Gracias
>>
>>
>>
>> "Daniel" escribió en el mensaje
>> news:
>>> Buenas
>>>
>>> En un procedimiento almacenado tengo que hacer los siguiente...
>>>
>>> Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
>>> que
>>> tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
>>> los
>>> datos de la reservas efectuadas sobre los alojamientos (Reservas),
>>> unidas
>>> por un campo de identificación.
>>>
>>> El SP debe devolver una consulta con la lista alojamientos que estan
>>> disponibles día por día, o sea la lista de los alojamientos que en un un
>>> rango de fechas especificadas no esten reservadas.
>>>
>>> Se me complica la consulta por que la relación de las tablas es nula,
>>> espero
>>> que me puedan ayudar y darme algunos consejos o directamete la consulta.
>>> Luego tengo otros parámetros de filtros que yo me ocuparé de
>>> resolverlos.
>>>
>>> Cualquier duda me preguntan
>>> Gracias
>>>
>>>
>>>
>>>
>>
>>
>>
>
>



Respuesta Responder a este mensaje
#9 Javier Loria
29/06/2007 - 15:35 | Informe spam
Hola Daniel:
Gracias por el DDL y el codigo de llenado de las tablas. Antes de
comenzar un par de suposiciones que podrian no ser ciertas:
1) En la tabla de Reservas tienes AlojamientoID lo cual asumo es llave
foranea contra Alojamientos. Si es asi entonces la gente reserva un
alojamiento y de antemano sabemos cual es.
2) Las reservas tienen un DESDE y un HASTA que parecen ser las columnas
que manejan la fecha de la reservacion, (Entrada y Salida parecen ser
columnas de ocupacion, y no deberian estar aqui). Si DESDE y HASTA son la
fechas del rango de la reservacion debes cortarles el tiempo, no deben tener
hora/minuto/segundo o milesimas de segundo y probablemente seria mejor que
fueran smalldatetime.
Asumiendo estas dos cosas, puedes preparar tu esquema para ayudarte a
este tipo de consultas, con lo cual te recomiendo 2 tablas de ayuda: numeros
y fechas. Estas 2 tablas te ayudan mucho en algunas consultas el codido de
creacion seria mas o menos asi:
/* Codigo de Tablas de Ayuda */
CREATE TABLE Numeros(
Numero INT NOT NULL PRIMARY KEY
);

INSERT Numeros(Numero)
SELECT 1 UNION ALL
SELECT 2 UNION ALL
SELECT 3 UNION ALL
SELECT 4 UNION ALL
SELECT 5 UNION ALL
SELECT 6 UNION ALL
SELECT 7 UNION ALL
SELECT 8 UNION ALL
SELECT 9 UNION ALL
SELECT 10;

INSERT Numeros(Numero)
SELECT
(N1.Numero-1)*10000+(N2.Numero-1)*1000+(N3.Numero-1)*100+N4.Numero*10+N5.Numero
FROM Numeros AS N1
CROSS JOIN Numeros AS N2
CROSS JOIN Numeros AS N3
CROSS JOIN Numeros AS N4
CROSS JOIN Numeros AS N5
ORDER BY (N1.Numero-1)*1000+(N2.Numero)*100+N3.Numero*10+N4.Numero;

CREATE TABLE Fechas(
Fecha SMALLDATETIME NOT NULL PRIMARY KEY
CHECK (datepart(hour,Fecha)=0 AND datepart(minute,[Fecha])=0)
semana santa, etc.)
);
INSERT Fechas(Fecha)
SELECT DATEADD(day, Numero-1, '20070101') -- Probablemente quieres usar otra
base
FROM Numeros
WHERE DATEADD(day, Numero-1, '20070101') <'20100101';
== Este codigo lo ejecutas una sola vez y sirve para tener las tablas de
fecha y numeros para ayudarte.
Ya entrando a la consulta que deseas, la lista te todos los alojamientos
disponbiles (ocupados o no) para un rango de fechas seria:
=SELECT ItemID AS AlojamientoID
, Fechas.Fecha
FROM Alojamientos
JOIN Fechas
ON Fechas.Fecha BETWEEN '20070629' AND '20070705'
= La lista de si estan ocupados o no seria:
=SELECT Alojamientos.ItemID AS AlojamientoID
, Fechas.Fecha
, CASE WHEN Reservas.ItemID IS NULL THEN 0
ELSE 1 END AS Ocupado
FROM Alojamientos
JOIN Fechas
ON Fechas.Fecha BETWEEN '20070629' AND '20070705'
LEFT JOIN Reservas
ON Alojamientos.ItemID=Reservas.AlojamientoID
AND Fechas.Fecha BETWEEN Reservas.Desde AND Reservas.Hasta
= Y por ultimo los disponibles seria:
=-- Alojamientos Disponibles
SELECT Alojamientos.ItemID AS AlojamientoID
, Fechas.Fecha
, CASE WHEN Reservas.ItemID IS NULL THEN 0
ELSE 1 END AS Ocupado
FROM Alojamientos
JOIN Fechas
ON Fechas.Fecha BETWEEN '20070629' AND '20070705'
LEFT JOIN Reservas
ON Alojamientos.ItemID=Reservas.AlojamientoID
AND Fechas.Fecha BETWEEN Reservas.Desde AND Reservas.Hasta
WHERE Reservas.ItemID IS NULL
= Espero que te sirva,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Daniel" wrote in message
news:
Hay está el script para crear las tablas y llenar algunos registros


Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
que
tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
los
datos de la reservas efectuadas sobre los alojamientos (Reservas), unidas
por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas. Debería devolver 1 fila
por cada alojamiento y por cada día en el rango de fechas especificado.

Se me complica la consulta por que la relación de las tablas es nula,
espero
que me puedan ayudar y darme algunos consejos o directamete la consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.

El script lo hice en SQL Server2000

Cualquier duda me preguntan
Gracias



"Daniel" escribió en el mensaje
news:
Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
que
tiene los datos del alojamiento (Alojamientos) y la otra es la que tien
los
datos de la reservas efectuadas sobre los alojamientos (Reservas), unidas
por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas.

Se me complica la consulta por que la relación de las tablas es nula,
espero
que me puedan ayudar y darme algunos consejos o directamete la consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.

Cualquier duda me preguntan
Gracias









Respuesta Responder a este mensaje
#10 Daniel
02/07/2007 - 19:33 | Informe spam
Muchas gracias por su desinteresada colaboración.

Me ha sido de mucha ayuda, ahora tengo funcionando esta consulta con muchos
filtros mas


Gracias


Daniel

"Daniel" escribió en el mensaje
news:
Buenas

En un procedimiento almacenado tengo que hacer los siguiente...

Dada 2 tablas, concretamente es para reservas de alojamientos, una es la
que tiene los datos del alojamiento (Alojamientos) y la otra es la que
tien los datos de la reservas efectuadas sobre los alojamientos
(Reservas), unidas por un campo de identificación.

El SP debe devolver una consulta con la lista alojamientos que estan
disponibles día por día, o sea la lista de los alojamientos que en un un
rango de fechas especificadas no esten reservadas.

Se me complica la consulta por que la relación de las tablas es nula,
espero que me puedan ayudar y darme algunos consejos o directamete la
consulta.
Luego tengo otros parámetros de filtros que yo me ocuparé de resolverlos.

Cualquier duda me preguntan
Gracias




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida