-
Üyelik
08.04.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
web design ve yazılım
-
Konum
Antalya
-
Ad Soyad
N** U**
-
Mesajlar
181
-
Beğeniler
16 / 24
-
Ticaret
2, (%100)
arkadaşlar merhaba, kişinin aldığı puanlara göre değişkik gösteren bir puanlama sistemim var. örneğin şu andaki puanı 90 olan bir kişi için not A iken, bir süre sonra pu anı 95e çıkarsa not otomatik olarak A+ oluyor ve bu not eğer önceki kayıttan farklıysa, yani önceki notu A iken şimdi A+ olmuşsa ilgili tabloya yeni notu kaydediyor. Örneğin;
üye : 1
not : A
tarih : 30.05.2017
üye: 1
not : A+
tarih : 31.05.2017
gibi tabloda tutuyorum. Yapmak istediğim şey şu. en sonra notuyla bir önceki notunu gösterip, şu tarihte değişti gibi ekrana yazdırmak istiyorum. Üyenin bilgilerinin yer aldığı sayfada, 31.05.2017 tarihinde notu A'dan A+'ya değişmiştir gibi yazdırmak istiyorum. Bunu nasıl yapabileceğim konusunda bilgisi olan arkadaşlar varmı?
-
Üyelik
04.06.2014
-
Yaş/Cinsiyet
35 / E
-
Meslek
Yazılım Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
S** G**
-
Mesajlar
160
-
Beğeniler
16 / 46
-
Ticaret
4, (%100)
sql de şöyle yapabilirsin.
Select * from kayitlar k1
left join kayitlar k2 on k2.uye = k1.uye and k2.tarih =DATEADD(day,-1,k1.tarih)
Where k1.puan <> k2.puan
-
Üyelik
08.04.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
web design ve yazılım
-
Konum
Antalya
-
Ad Soyad
N** U**
-
Mesajlar
181
-
Beğeniler
16 / 24
-
Ticaret
2, (%100)
hocam cevabınız için teşekkürler ancak sorguda belirttiğiniz k1 ve k2 değerlerini oturtamadım kafamda. Yani not ismiyle gelen tek bir sütun var. orda çözümleyemedim verdiğiniz kodu.
-
Üyelik
04.06.2014
-
Yaş/Cinsiyet
35 / E
-
Meslek
Yazılım Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
S** G**
-
Mesajlar
160
-
Beğeniler
16 / 46
-
Ticaret
4, (%100)
aynı tabloada sorgulama yaptığımız için tablolara takma isim verdim.
k1 ve k2 değişken ismi gibi düşünebilirsiniz. kayitlar tablosuna denk gelmektedir.
-
Üyelik
08.04.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
web design ve yazılım
-
Konum
Antalya
-
Ad Soyad
N** U**
-
Mesajlar
181
-
Beğeniler
16 / 24
-
Ticaret
2, (%100)
şimdi anladım hocam. peki bu sorgu ile belirttiğim şekilde ekrana yazıyı nasıl yazdırabirim?
-
Üyelik
04.06.2014
-
Yaş/Cinsiyet
35 / E
-
Meslek
Yazılım Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
S** G**
-
Mesajlar
160
-
Beğeniler
16 / 46
-
Ticaret
4, (%100)
bu sql sorgu diliyle yazılmış.
kullandığınız programlama diliyle db ye bağlanıp sorgu çekin. size değişenlerin listesini dönecektir.
farkı yakalamak içinde sorguyu aşağıdaki gibi düzenleyebilirsin.
Select uye,k2.puan as EskiPuan, k1.puan as YeniPuan from kayitlar k1
left join kayitlar k2 on k2.uye = k1.uye and k2.tarih =DATEADD(day,-1,k1.tarih)
Where k1.puan <> k2.puan
-
Üyelik
08.04.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
web design ve yazılım
-
Konum
Antalya
-
Ad Soyad
N** U**
-
Mesajlar
181
-
Beğeniler
16 / 24
-
Ticaret
2, (%100)
hocam sanırım ben anlatamadım demek istediğimi. sorgudaki yeni ve eski puanı ekrana yazdırabilmek için değişkene nasıl atayabilirim onu sormuştum ben.
-
Üyelik
16.07.2015
-
Yaş/Cinsiyet
27 / E
-
Meslek
Bilgisayar Müh. Öğrencisi
-
Konum
İstanbul Anadolu
-
Ad Soyad
M** T**
-
Mesajlar
215
-
Beğeniler
94 / 93
-
Ticaret
23, (%100)
Hocam veritabanına 2 sütun oluşturun.
Birinci sütunda kişinin eski notu, ikinci sütunda yeni notu yer alsın.
Çünkü bunun farklı bir şekilde hafızada kalması zor olacaktır.
Veya tek sütunda çözmem gerek derseniz;
Sütuna kayıt yaparken eskiNot@@yeniNot gibi bir kayıt yaptırın.
explode ile @@ den ayırarak eski ve yeni notu almış olun.
Gerisi zaten yazdırma işlemleri
-
Üyelik
08.04.2014
-
Yaş/Cinsiyet
40 / E
-
Meslek
web design ve yazılım
-
Konum
Antalya
-
Ad Soyad
N** U**
-
Mesajlar
181
-
Beğeniler
16 / 24
-
Ticaret
2, (%100)
hocam teşekkürler bu mantık için. bu mantığı en kısa zamanda deneyeceğim. tekrar teşekkürler.