Create Table OtelPeriod
(
OtelPeriodID int IDENTITY(1,1)Primary Key,
OtelID int,
Tarih datetime
)
INSERT INTO OtelPeriod (OtelID,Tarih)Values(1,'2012-03-16')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(1,'2012-03-17')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(1,'2012-03-18')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(1,'2012-03-19')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-15')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-16')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-17')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-18')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-19')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-17')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-18')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-19')
INSERT INTO OtelPeriod (OtelID,Tarih)Values(2,'2012-03-20')
istediği şey ise şu.
Siteden 2 tarih sectiğinizi ve bu iki tarih arasında olan otelleri listelediğini duşunun.
Ornek 1:
Birinci Tarih : 2012-03-16
İkinciTarih : 2012-03-18 ise
16 ve 18 in yer aldığı OtelID 1 ve 2 gelmesi lazım
Ornek 2:
Birinci Tarih : 2012-03-15
İkinciTarih : 2012-03-18 ise
16 ve 18 in yer aldığı OtelID 2 gelmesi lazım diğerleri gelmemeli.
Bu konuda Between , in, = gibi bir cok fonksiyonu kullandım ama her seferinde eğer field icinde bu tarihlerden biri varsa hepsi geliyor. bu iki tarihten biri bile yoksa o otelin gelmemesi lazım.
Bu konunun between ile cozuleceğini duşunuyorum. ama between iki tarih arasında bir tanesi bile varsa lislelediği icin
"Tarih Between '2012-03-15' And ' 2012-03-18' burada betweene eğer '2012-03-15' yoksa getirme o oteli