cybermole bunu yazdı SUM(DATEDIFF(if('2021-01-01' < cikis, '2021-01-01' , cikis) , if('2021-01-10' > giris, '2021-01-10' , giris))) topla bu sekilde denedim ama olmuyor oda1 i - olarak farklı sayılar veriyor.. burda yapmak istediğiim olay syle oda1,2,3 de rezler var ben bi tarih arası giricem o tarih arasında rez varsa tarih aralıgında saayısını verecek. Kullanımı : DATEDIFF pek anlamam ama yukarıdaki formülde bir eksik var gibi başlıkta mysql sorgusu diyore müdür https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_datediff |sadece aptalların başarısı ders notu ile lçülür|

#Odalar ID ODAADI 1 ODA12 ODA23 ODA3 #Rezervasyonlar ID ODAID GIRIS CIKIS 1 1 2021-01-01 2021-01-12 2 1 2021-02-01 2021-02-15 3 2 2021-01-05 2021-01-31 4 1 2021-03-01 2021-03-15 5 3 2021-01-09 2021-02-15 6 3 2021-05-01 2021-05-15 7 2 2021-02-18 2021-02-28 8 1 2021-09-14 2021-10-15 yukarıdaki şekilde mysql tablom var ben tarih aralıgı girerek oda1,2,3 ün kac gün dolu olduğunu sayı olarak listemek istiyorum. bunu nasıl yapabiliriz hocalar? Liste yaparkende 2021-01-01 ile 2021-01-20 tarihleri arası sorgu yaptıgımda ODA1 - 12 Gün... şeklinde odaların o tarihler arası kac gün dolu olmus nasıl yaparım tşkler..

select oda_id, SUM( DATEDIFF( IF('2021-01-20' < cikis, '2021-01-20' , cikis ) , IF('2021-01-01'>giris, '2021-01-01' , giris) ) ) from oda where cikis > '2021-01-01' AND giris < '2021-01-20' GROUP BY oda_id şartları yerleştirdinmi? büdüt : birde sum+1 koyman gerekebilir bilir çünkü 1'inden 5 kadar kullanılsın oda 5-1 = 4 geçmiş üstünden fakat oda 5 gün kullanılmıştır o yüzden sum tarafına +1 mantıklı olabilir emin olamadım orası senin bileceğin nokta hocam saolasın oldu..

SUM(DATEDIFF(if('2021-01-01' < cikis, '2021-01-01' , cikis) , if('2021-01-10' > giris, '2021-01-10' , giris))) topla bu sekilde denedim ama olmuyor oda1 i - olarak farklı sayılar veriyor.. burda yapmak istediğiim olay syle oda1,2,3 de rezler var ben bi tarih arası giricem o tarih arasında rez varsa tarih aralıgında saayısını verecek. Kullanımı : DATEDIFF pek anlamam ama yukarıdaki formülde bir eksik var gibi Yaşa, l...

select oda_id, SUM( DATEDIFF( IF('2021-01-20' < cikis, '2021-01-20' , cikis ) , IF('2021-01-01'>giris, '2021-01-01' , giris) ) ) from oda where cikis > '2021-01-01' AND giris < '2021-01-20' GROUP BY oda_id şartları yerleştirdinmi? büdüt : birde sum+1 koyman gerekebilir bilir çünkü 1'inden 5 kadar kullanılsın oda 5-1 = 4 geçmiş üstünden fakat oda 5 gün kullanılmıştır o yüzden sum tarafına +1 mantıklı olabilir emin olamadım orası senin bileceğin nokta wert tarafından 09/Nis/21 00:21 tarihinde düzenlenmiştir |sadece aptalların başarısı ders notu ile lçülür|

cıkıs > aralık baslangıç giris < aralik bitis olanları topla ( DATEDIFF( eğer , eğer ) ) grupla odaid wert tarafından 08/Nis/21 22:48 tarihinde düzenlenmiştir |sadece aptalların başarısı ders notu ile lçülür|

cıkıs > aralık baslangıç giris < aralik bitis olanları topla ( DATEDIFF( eğer , eğer ) ) grupla odaid SUM(DATEDIFF(if('2021-01-01' < cikis, '2021-01-01' , cikis) , if('2021-01-10' > giris, '2021-01-10' , giris))) topla bu sekilde denedim ama olmuyor oda1 i - olarak farklı sayılar veriyor.. burda yapmak istediğiim olay syle oda1,2,3 de rezler var ben bi tarih arası giricem o tarih arasında rez varsa tarih aralıgında saayısını verecek.