verileri sıralama işlemi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
verileri sıralama işlemi
Merhaba,
Derdimi başlıkta anlatamadım. Hep çok uzun cümleler kurduğum için bu şekil kısa yazma gereksinimi duydum, zira bu şekilde arama yaptıran olabilir düşüncesi hasıl oldu.
fb ve delphi 7 kullanıyorum. Order by ve group by olarak sıralama yaptırabiliyorum. fakat şimdiki düşüncem farklı bir sıralama.
sicil, adsoyad ve rütbe olarak alanlarım var. veri görüntüleme olarak ve pk olarak sicil integer alanını kullanıyorum. raporlama aldığımda sicil sırası sıralatıp rapor alabiliyorum. fakat ben bu sıralamanın gayrısında rütbe olarak üstte olan kişilerin sicilen düşükte olsa ilk sırada olmasını istiyorum yani sicili büyük x memur (sicili büyük demekle sıfıra yakın olanını kastediyorum) sicili küçük amirin altında yer alsın. bilindiği gibi normalde integer sicili 1,2,3..... diye sıralı veya tersten sıralı olarak görüntüleyebiliyor ve bu şekilde raporlama alabiliyoruz.
kendimi açıklamakta zorlanıyorum, şöyle bir örnek vereyim
1 memur
2 memur
3 memur
4 amir
5 memur
6 memur
7 müdür şeklinde sicil sırasında listemiz var. müdür en rütbeli kişi, amir ondan sonra gelen ve memurlar ise en altta bunları müdür ilk sırada amir ikinci sırada memurları ise sicil sırasında en alt sırada sıralamasını istiyorum. tabi birden fazla müdür varsa bunlarıda kendi arasında sicil sırasına soksun, amir varsa da bunlarıda kendi arasında sıralamaya tabi tutsun sonra memurları kendi sicil sırasında sıralasın.
karışık bir yapı, genelde çalışmalarımda tarih, sayı ve ad soyad alanlarını order by komutunda (,) ler ile ayırarak bir birleri arasında sıralatıyorum. fakat burada sicil, rütbe şeklinde bağlatırsan harf işleminde takılacak ve amirin a sı müdürün m sinden önce geldiğinden düşük rütbeli üste çıkacak.
bilmiyorum anlatabildim mi. eğer anlatabildim ise bu konuda bana yardımcı olursanız sevinirim. nereden tutacağımı neyi takip edeceğimi bilmiyorum.
teşekkür ve saygı ile
kolay gelsin
Derdimi başlıkta anlatamadım. Hep çok uzun cümleler kurduğum için bu şekil kısa yazma gereksinimi duydum, zira bu şekilde arama yaptıran olabilir düşüncesi hasıl oldu.
fb ve delphi 7 kullanıyorum. Order by ve group by olarak sıralama yaptırabiliyorum. fakat şimdiki düşüncem farklı bir sıralama.
sicil, adsoyad ve rütbe olarak alanlarım var. veri görüntüleme olarak ve pk olarak sicil integer alanını kullanıyorum. raporlama aldığımda sicil sırası sıralatıp rapor alabiliyorum. fakat ben bu sıralamanın gayrısında rütbe olarak üstte olan kişilerin sicilen düşükte olsa ilk sırada olmasını istiyorum yani sicili büyük x memur (sicili büyük demekle sıfıra yakın olanını kastediyorum) sicili küçük amirin altında yer alsın. bilindiği gibi normalde integer sicili 1,2,3..... diye sıralı veya tersten sıralı olarak görüntüleyebiliyor ve bu şekilde raporlama alabiliyoruz.
kendimi açıklamakta zorlanıyorum, şöyle bir örnek vereyim
1 memur
2 memur
3 memur
4 amir
5 memur
6 memur
7 müdür şeklinde sicil sırasında listemiz var. müdür en rütbeli kişi, amir ondan sonra gelen ve memurlar ise en altta bunları müdür ilk sırada amir ikinci sırada memurları ise sicil sırasında en alt sırada sıralamasını istiyorum. tabi birden fazla müdür varsa bunlarıda kendi arasında sicil sırasına soksun, amir varsa da bunlarıda kendi arasında sıralamaya tabi tutsun sonra memurları kendi sicil sırasında sıralasın.
karışık bir yapı, genelde çalışmalarımda tarih, sayı ve ad soyad alanlarını order by komutunda (,) ler ile ayırarak bir birleri arasında sıralatıyorum. fakat burada sicil, rütbe şeklinde bağlatırsan harf işleminde takılacak ve amirin a sı müdürün m sinden önce geldiğinden düşük rütbeli üste çıkacak.
bilmiyorum anlatabildim mi. eğer anlatabildim ise bu konuda bana yardımcı olursanız sevinirim. nereden tutacağımı neyi takip edeceğimi bilmiyorum.
teşekkür ve saygı ile
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

iyi akşamlar..
hocam soruyla ilgili değişik cevaplar gelecektir ama aklıma ilk gelen;
tabloya rutbesirano diye bir field ekleseniz yeni kayıt yaparken eğer müdür ekliyorsa rutbesirano=1,amir ekliyorsa rutbesirano=2 memur ise rutbesirano=3 olsun...
şeklinde sorgularsanız önce rütbeleri sıralar sonrada rütbesi aynı olanlarda sicilno ya göre sıralar..bundan önceki kayıtlar içinde bir patchle tabloyu tarayıp rütbeye göre rutbesirano alanlarını yazarsınız.
nacizane fikrim bu..
hocam soruyla ilgili değişik cevaplar gelecektir ama aklıma ilk gelen;
tabloya rutbesirano diye bir field ekleseniz yeni kayıt yaparken eğer müdür ekliyorsa rutbesirano=1,amir ekliyorsa rutbesirano=2 memur ise rutbesirano=3 olsun...
Kod: Tümünü seç
select * from personel order by rutbesirano,sicilno
nacizane fikrim bu..
Merhaba,
@Serkan ustam, yani bana pes doğrusu. Burada sıcaklar 45 derece ve arabaların bile boyalarını yakıyor güneş. benim halimi düşün klima yok rüzgar yok. yandım anam. bu kadar basit bir çözüm aklıma gelmedi. çok teşekkür ederim. sanırım tabloyu bozmama açısından takıldım kaldım ve aklıma gelmedi. henüz proje yapım aşamasında yani veri yok.
teşekkür ve saygılarımla
kolay gelsin
@Serkan ustam, yani bana pes doğrusu. Burada sıcaklar 45 derece ve arabaların bile boyalarını yakıyor güneş. benim halimi düşün klima yok rüzgar yok. yandım anam. bu kadar basit bir çözüm aklıma gelmedi. çok teşekkür ederim. sanırım tabloyu bozmama açısından takıldım kaldım ve aklıma gelmedi. henüz proje yapım aşamasında yani veri yok.
teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Hocalar dediklerinize ek olarak rutbe_sira_no yada unvan_id gibi integer bir alanı
Bundan sonrası da
Tekrarlayan bu tür alanlarda her zaman yardımcı tablo kullanmak avantajlıdır. Hatta sadece Erkek/Kadın bilgisi alan bir alan için de yardımcı tablo kullanmak gerekir diye düşünüyorum
Bu alan foreign key ile ana tabloya bağlanarak tanımlanan bilgilerden farklı bir bilginin de girilmesini engeller. Bu da verilerin tutarlılığını sağlar 
- 10 Müdür
20 Amir
30 Memur
40 Hizmetli
vs..
Bundan sonrası da
Kod: Tümünü seç
select u.unvan_adi, p.sicil, p.adsoyad from personel p
left join unvanlar u on (u.unvan_id = p.unvan_id)
order by p.unvan_id, p.sicil


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Merhaba,
@rsimsek ustam dediğinin yarısını yaptım sayılır. yeni rutbe_kodu tablosu oluşturdum. ve araya rütbe girmeyeceği için (tabi buçukluk verirlerse başka) 1,2,3 diyerek rütbeleri sıraladım, veri giriş tabloma dblookup ile bunları çektim ve rütbe kodu gireceğim alana rutbekodu tablosunun kod kısmına atadım. şimdilik kullanıcı sadece rütbesini belirliyor, kodu sistem kendi yazıyor kolaylık açısından ve istediğim sıralamayı yapıyor.
soruyu sorarken böyle bir cevabın da geleceğini tahmin etmiş ve bekliyordum. bu cevap üzerine de düşünerek kafa yoracağım.
teşekkür ve saygılarımla
kolay gelsin
@rsimsek ustam dediğinin yarısını yaptım sayılır. yeni rutbe_kodu tablosu oluşturdum. ve araya rütbe girmeyeceği için (tabi buçukluk verirlerse başka) 1,2,3 diyerek rütbeleri sıraladım, veri giriş tabloma dblookup ile bunları çektim ve rütbe kodu gireceğim alana rutbekodu tablosunun kod kısmına atadım. şimdilik kullanıcı sadece rütbesini belirliyor, kodu sistem kendi yazıyor kolaylık açısından ve istediğim sıralamayı yapıyor.
soruyu sorarken böyle bir cevabın da geleceğini tahmin etmiş ve bekliyordum. bu cevap üzerine de düşünerek kafa yoracağım.
teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Merhaba,
@Recep ustam sen dersin ben yapmazmıyım, daha o gün 10,20,30 şeklinde düzelttim ve o şekil kullanıyorum. Tecrübeden istifade etmek gerek.
kolay gelsin
@Recep ustam sen dersin ben yapmazmıyım, daha o gün 10,20,30 şeklinde düzelttim ve o şekil kullanıyorum. Tecrübeden istifade etmek gerek.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.
