İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

MSSQL Sorgu yardım Talebi

targit

0
İyinet Üyesi
Katılım
9 Ocak 2005
Mesajlar
0
Reaction score
0
Arkadaşlar geliştirmekte olduğum bir rezervasyon sisteminde SQL de bir konuyu bir türlü çözebilmiş değilim. yardımlarınızı bekliyorum.

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 seçtiğinizi ve bu iki tarih arasında olan otelleri listelediğini düşünün.

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, <= ve >= gibi bir çok fonksiyonu kullandım ama her seferinde eğer field içinde bu tarihlerden biri varsa hepsi geliyor. bu iki tarihten biri bile yoksa o otelin gelmemesi lazım.

Bu konunun between ile çözüleceğini düşünüyorum. ama between iki tarih arasında bir tanesi bile varsa lislelediği için
"Tarih Between '2012-03-15' And ' 2012-03-18' burada betweene eğer '2012-03-15' yoksa getirme o oteli :) nasıl derim.
 

yusuf21

0
Yasakli Uye
Katılım
19 Ağustos 2011
Mesajlar
253
Reaction score
1
sorununu pek anlayamadım ama iki tarih arası sorgulama yapmak istiyorsan;

select * from tabloadı where tarih1 >= '01.01.2011' and tarih2 <= '01.01.2012'

umarım yardımcı olabilmişimdir.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst