• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

MSSQL Sıfırdan Büyük Sayıyı Bulana Kadar

Katılım
8 Eylül 2017
Mesajlar
6
Excel Vers. ve Dili
Excel 2016
Arkadaşlar merhaba şöyle bir derdim var;

Sayaçlar tablomda FirmaAdi,CihazSeriNo,Donem,YIL,Sayac gibi alanlarım var.
Sayaç alanım integer. Sayaç alanında boş olan değerler 0. Amacım ; Donem ve YIL olarak sıralanmış tablomda Sayaç alanı 0 olana kadar sıralanan değerleri listelemek. Örneğin;

FirmaAdı YIL Donem Seri No Sayac

TestFirma 2018 01 OCAK XXYYZZ 0
TestFirma 2017 12 ARALIK XXYYZZ 0
TestFirma 2017 11 KASIM XXYYZZ 1445
TestFirma 2017 10 EKIM XXYYZZ 0
TestFirma 2017 09 EYLUL XXYYZZ 0

Bu tabloda bana sadece ilk 2 kaydı vermesi gerekiyor.
 
Merhaba,

Aşağıdaki sorgu fikir verebilir. Ben excel'de denedim sonuç verdi.

Kod:
sorgu = "select * from[sayfa1$] where clng(yıl & format(donem,'0#')) > (select clng(yıl & format(donem,'0#')) from[sayfa1$] where sayac <> 0)  "
 
Burada Donem alanının formatını mı değiştiriyoruz. SQL de sonuç alamadım. Birden fazla değer döndüğü için subquery alıyorum.
 
Kayıtları birbirinden ayıran tekil sayısal bir alan yok. Bu haliyle sorgu olmaz. İki seçeneğiniz var:

- Sql Server tarafında cursor açmak. T-Sql bilgisi gerektirdiği için zorlanabilirsiniz.
- Recordset nesnesini kullanarak for döngüsü. En kolayı da bu olacaktır.

.
 
Geri
Üst