25-09-2009, 01:28
Merhaba arkadaşlar;
Geçenlerde Access için bir soru vardı çok güzel ve ilginç bir soruydu. Farklı sıralanmış " Order By len(alan_ismi)" şeklindeydi ve bu sıralamaya göre oluşan sorgudan N. kaydı görmek istiyordu. Bu sıralama aynı şekilde random da olabilirdi. Taruz büyük bir ustalıkla bunu yaptı, ben de Sql server için yapayım dedim ve 2 benzer CURSOR ile yaptım..
1. yol ..
2. Yol;
Not: Cursor kullanmak dikkat ister ve sistem kaynaklarını fazlaca tüketebilir. Burada eğer sıralama olayı normal bir şekilde olsaydı yani otoID(personelNo) alanına göre diyelim alttaki gibi bir SQL cümlesi de işimizi görecekti.
Ayrıca "Row_Number" fonksiyonunu da kullanbiliriz ama bu tür spesifik sıralamlarda denemedim, gerek de duymadım.
Geçenlerde Access için bir soru vardı çok güzel ve ilginç bir soruydu. Farklı sıralanmış " Order By len(alan_ismi)" şeklindeydi ve bu sıralamaya göre oluşan sorgudan N. kaydı görmek istiyordu. Bu sıralama aynı şekilde random da olabilirdi. Taruz büyük bir ustalıkla bunu yaptı, ben de Sql server için yapayım dedim ve 2 benzer CURSOR ile yaptım..
1. yol ..
SQL
- USE Sirket_Test
- GO
-
- DECLARE N_kayit_bul SCROLL CURSOR FOR
- SELECT * FROM personel ORDER BY len(Ad)
-
- OPEN N_kayit_bul
- FETCH ABSOLUTE 10 FROM N_kayit_bul
- -- Buradaki 10, almak istediğimiz satırdır. 10. satır yani
-
- CLOSE N_kayit_bul
- -- Cursoru kapatıyoruz
- DEALLOCATE N_kayit_bul
- -- Kaynakları serbest bırakıyoruz
2. Yol;
SQL
- DECLARE bb cursor static FOR
- SELECT *
- FROM PERSONEL ORDER BY len(Ad)
- OPEN global bb
- fetch absolute 10 FROM bb
-
- close global bb
- deallocate global bb
Not: Cursor kullanmak dikkat ister ve sistem kaynaklarını fazlaca tüketebilir. Burada eğer sıralama olayı normal bir şekilde olsaydı yani otoID(personelNo) alanına göre diyelim alttaki gibi bir SQL cümlesi de işimizi görecekti.
SQL
- SELECT * FROM personel AS bb WHERE (SELECT COUNT(*)
- FROM personel WHERE PersonelNo <=bb.PersonelNo )=10
Ayrıca "Row_Number" fonksiyonunu da kullanbiliriz ama bu tür spesifik sıralamlarda denemedim, gerek de duymadım.
Javascript
- this.setState({sign:"Here comes the sun...."})



