Mysql Like Komutu Sorunu (ÇÖZÜLDÜ)
-
<?php $sorgu = $baglanti->query("SELECT distinct r.id,r.evadi FROM evler as r INNER JOIN rezervasyonlar as b ON r.id = b.rezno WHERE ('2021-01-01' NOT BETWEEN giris AND cikis) AND ('2021-12-31' NOT BETWEEN giris AND cikis) order by sira ASC"); while ($sonuc = $sorgu->fetch_assoc()) { $evadi = $sonuc['evadi']; ?> <?php echo $evadi; ?> <?php }?>
burada herşey güzel tarih aralarında boş olan evadlarını evler tablosundan yazdırıyorum fakat benim istediğim like komutu ile evadinda ahmet geçen evleri listesin istiyorum like nereye kondurucağımı çözemedim. tşk ederim.
cybermole tarafından 10/Şub/21 17:03 tarihinde düzenlenmiştir -
Bi tane daha and ekleyince olmuyo mu
-
yolbulucu bunu yazdı
Bi tane daha and ekleyince olmuyo mu
and ekledim denedim ama olmuyor like i nereye koyacamı bitürlü çözemedim like ='%ahmet%' ile yazdırmam lazm kafayı yedirtdi. :)
-
-
hocam geç laravele orm kullan kafan rahat etsin relation olayları falan efsane
-
yaa şuraya bir türlü düzgün kod ekleyemedimmm
Sql : "SELECT distinct r.id,r.evadi FROM evler as r INNER JOIN rezervasyonlar as b ON r.id = b.rezno WHERE r.evadi like '%ahmet%' and ('2021-01-01' NOT BETWEEN giris AND cikis) AND ('2021-12-31' NOT BETWEEN giris AND cikis) order by sira ASC"
Shuqufe tarafından 09/Şub/21 20:25 tarihinde düzenlenmiştir -
SORUN ÇÖZÜLDÜ:
SELECT distinct r.id,r.evadi FROM evler as r INNER JOIN rezervasyonlar as b ON r.id = b.rezno WHERE ('2021-01-01' NOT BETWEEN giris AND cikis) AND ('2021-12-31' NOT BETWEEN giris AND cikis) r.evadi like ‘%ahmet%’ order by sira ASC
bu şekilde çözüldü . yardımlarınız için tskler..
-
Çözüldü Sandığım SQL Sorgusu:
SELECT distinct r.id,r.evadi FROM evler as r INNER JOIN rezervasyonlar as b ON r.id = b.rezno WHERE ('2021-01-01' NOT BETWEEN giris AND cikis) AND ('2021-01-31' NOT BETWEEN giris AND cikis) and r.evadi like 'ahmet' order by sira ASCmalesef dün bi sevinçle oldu sandım ama sorguda rezervasyon olan evleride göstermeye basladı. tablo yapısını veriyorum.
#evler
id-evadi-sira
#rezervasyonlar
id-evid-giris-cikis
** burda giris ve cikis tarihi arasında rezervsayon olan evlerin değilde o tarih arası rezervasyon olmayan evlerin cıktısını almak istiyorum. tskler.
-
Inner join değil de left join ile dener misin son sorgunu
-
mobilim bakamadım detaylı fakat inner join yerine not in sub query döndürsen daha iyi olur yani
select id,evadi from evler where id not in (select evid from rezervasyonlar where giriş çıkış rezervasyonlara göre doldur)
subqueryde: rezervasyonlu evleri çek. Detay için sqlfiddle tablo örnek data yükle yine sorgu yazarım
-
trooper bunu yazdı
mobilim bakamadım detaylı fakat inner join yerine not in sub query döndürsen daha iyi olur yani
select id,evadi from evler where id not in (select evid from rezervasyonlar where giriş çıkış rezervasyonlara göre doldur)
subqueryde: rezervasyonlu evleri çek. Detay için sqlfiddle tablo örnek data yükle yine sorgu yazarım
bu sekilde hic rezervasyon olmayan evler geliyor mesela 2021-01-01 ile 2021-01-31 tarihlerini sec hic rezervasyon yapılmayan evler geliyor 2021-01-01 ile 2021-01-10 arasında rezerve olan ev gelmiyor
mesela aynı eve 01.01.2021 - 10.01.2021 tarihinde bi rezervasyon 15.01.2021 - 20.01.2021 tarihi arasında bir rezervasyon da var ama senin yazsdıgın sekilde yapınca hiç rezervasyon yapılmayan evler geliyor. :(