Merhaba, Bir Sql sorgusu yapmam lazım amma sql'im o kadar iyi değil.
İki tablom var
Birisi villalar diğeri villa rezervasyonları.
Villalar tablomdaki alanlar -> VillaID, VillaBASLIK
Villa rezervasyonları tablomda yer alan alanlar ->RezervasyonID,VillaID,RezervasyonBASLA,Rezervasyo nBITIS
Yapmak istediğim şey değilse betwen yani arasında değilse işlemi. Eğer rezervasyon tablosunda x villasına ait örneğin 25.07.2015 tarihinde başlayan 26.06.2015 tarihinde biten bir rezervasyon varsa ve formdaki date alanlarından bu tarihler arasında kalan herhangi bir tarih seçilmişse bu villa gelmeyecek ama eğer rezervasyon tablosunda x villasına ait bir kayıt yoksa veya formdan gelen alanlar arasında kalmayan bir rezervasyon varsa villayı çeksin istiyorum.
Bu sorguyu nasıl yaparım ?
Şimdiden teşekkürler.
Mysql Arasında Değilse.
4
●315
- 12-02-2015, 21:57:48
- 13-02-2015, 11:21:50@Bay_Keskin,
Yapmak istediğiniz seçili tarihler arasında rezervasyon varsa o villanın gösterilmemesi sanırım.
SELECT a.* FROM Villalar a LEFT JOIN Rezervasyonlar b ON a.VillaID = b.VillaID WHERE 1 AND ( b.RezervasyonID is null OR ( !(DATE_FORMAT(b.RezervasyonBASLA,'%Y%m%d') >= '20150225') AND !(DATE_FORMAT(b.RezervasyonBITIS,'%Y%m%d') >= '20150230') ) ) - 13-02-2015, 11:34:41Merhaba cevap için teşekkür ederim hocam fakat işe yaramadı. Hiç rezervasyon olmayan bir tarihi seçtim ama rezervasyon tablosunda başka tarihler arasında rezerve edilmiş kayıtı çekmedi.yvolkan adlı üyeden alıntı: mesajı görüntüle
- 13-02-2015, 11:43:32İlgili kısımları tablonuza göre uyarladıysanız seçili olmayan kısımların çıkması lazımBay_Keskin adlı üyeden alıntı: mesajı görüntüle

2 tabloyu içerikle ya da sql ile paylaşın isterseniz. - 13-02-2015, 11:59:07Villalar Tablomyvolkan adlı üyeden alıntı: mesajı görüntüle

Rezervasyon Tablom Hocam

Form'dan aldığım değerler;
$bastar = $_POST["bastar"];
$bittar = $_POST["bittar"];
Şimdi ben diyorum ki Villalar tablosunda var olan bir kayıta ait rezervasyon rezervasyonlar tablosunda yoksa yani o villaya dair bugüne kadar hiç rezervasyon isteği gelmemişse formdan gelen tarihler ne olursa olsun o villa gelecek.
2. Husus şu diyelim ki 1. villaya ait rezervasyon tablomda şu kayıt var
RezervasyonID = 1
VillaID=1
RezervasyonBASLA = 25.07.2015
RezervasyonBITIS = 26.08.2015
Formdan eğer başlangıç tarihi 27.07.2015 tarihinde başlayan ve 29.08.2015 tarihinde biten bir rezervasyon isteği aranmışsa 1. villa gelmeyecek çünkü başlangıç tarihi var olan kayıtın arasında kalıyor
Ama, 25.07.2014 tarihinde başlayan ve 26.08.2014 tarihinde biten bir rezervasyon isteği varsa 1. villa gelecek çünkü o tarihlerle ilişkili bir kayıt rezervasyon tablosunda yok.


