Her ID den max 6 kaydın bulunması:

Katılım
29 Nisan 2008
Mesajlar
40
Excel Vers. ve Dili
excel 2003
Merhaba Excel.web Sakinleri;Hepinize hayırlı günler, hayırlı işler dilerim.

Arkadaşlar bir sorgu oluşturmak istiyorum ama bir türlü işin içinden çıkamadım.Şöyle ki;​
İki tablodan birinde kişi bilgileri, diğerinde ise kişilerin yıllara göre bilgileri var.Ben bu iki tabloyu birleştirerek, en son yıldan itibaren geriye dönük olarak 6 yılın kayıtlarını göstersin istiyorum.​
Ben "SELECT TOP 6 ..." ile başlayan bir sorgu oluşturdum ama ilk kişinin 6 kaydını gösteriyor sonrasının ise sadece isimleri çıkıyor.​

Acilen yardım bekliyor, çözüm için İlgilenen ve yardımcı olan arkadaşlara şimdiden teşekkürler ederim.
 
Katılım
29 Nisan 2008
Mesajlar
40
Excel Vers. ve Dili
excel 2003
Her ID den max 6 kaydın bulunması: Örnek

Merhaba arkadaşlar;
Hayırlı Cumalar dilerim.
Dünden beri örnek dosyayı eklemeye çalışıyorum.Ancak bir türlü ekleyemedim.

Lakin yapmak istediğim sorgunun sütun adlarını vererek yardımcı olmanızı istirham edeceğim.

"[m1-MEMUR PERSONEL BİLGİLERİ].[SİCİL NO]" tablosundan her sicil için

"[GİZLİ SİCİL NOTLARI].[SİCİL NO],[GİZLİ SİCİL NOTLARI].YILLAR" tablosundanda 6 satır görünsün istiyorum.
Yardımlarınız için teşekkürler ederim.
 
Katılım
29 Nisan 2008
Mesajlar
40
Excel Vers. ve Dili
excel 2003
Her ID den max 6 kaydın bulunması: Örnek

Şükür bu defa ekledim.
[m1-MEMUR PERSONEL BİLGİLERİ] tablosundaki [SİCİL NO]sütununda yer alan her sicil no için

[GİZLİ SİCİL NOTLARI]tablısundaki [YILLAR] sütunundaki en büyük 6 değer görünsün istiyorum.

İlginiz için teşekkürler ederim.
 

Ekli dosyalar

Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Kod:
SELECT [SİCİL NO], YILLAR, NOTU
FROM [m5-GİZLİ SİCİL NOTLARI]
WHERE NOTU In (select top 6 [NOTU] from [m5-GİZLİ SİCİL NOTLARI] as trz where [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO]=trz.[SİCİL NO] )
ORDER BY [SİCİL NO]
Sorgu olarak kaydedin.. Aynı olan değerlerin Top işleçi içerisinde çoğaldığını da ilave edeyim.
 
Katılım
29 Nisan 2008
Mesajlar
40
Excel Vers. ve Dili
excel 2003
Sonuçsuzluk....

Merhabalar arkadaşlar.
Soruma tam olarak bir çözüm hala bulamadım.Sizlerin yardımları (Sn Taruz'un yardımları) sayesinde bir mesafe kat ettim ama tam olarak sonuca ulaşamadım.

Benim tam olarak istediğim şey yukarıda eklemiş olduğum çalışmada her sicil numarası için en büyük 6 yılın sorgulanmasıdır.​

Lütfen yardımlarınızı esirgemeyin.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Kod:
SELECT [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO], [m5-GİZLİ SİCİL NOTLARI].YILLAR, [m5-GİZLİ SİCİL NOTLARI].NOTU
FROM [m5-GİZLİ SİCİL NOTLARI]
WHERE ((([m5-GİZLİ SİCİL NOTLARI].NOTU) In (select top 6 [NOTU] from [m5-GİZLİ SİCİL NOTLARI] as trz where [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO]=trz.[SİCİL NO] ORDER BY [NOTU] DESC )))
ORDER BY [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO]
En yüksek değerleri alırsınız..
 
Katılım
29 Nisan 2008
Mesajlar
40
Excel Vers. ve Dili
excel 2003
teşekkür

Sn.Taruz çok teşekkür ederim.Emeğinize sağlık.
 
Katılım
29 Nisan 2008
Mesajlar
40
Excel Vers. ve Dili
excel 2003
Sorguda Başka Bir Ek Krıter Belirleme

Hayırlı günler Sn.Arkadaşlar.

Öncelikle bu konuda bana göstermiş olduğunuz yardımlardan dolayı (Özelde Sn Taruz'a, Genelde ise tüm site sakinlerine) sonsuz minnet ve şükranlarımı sunarım.

Evet sayenizde oluşturmuş olduğum sorguda maksimum son altı değeri almayı başardım.Ancak burada başka bir sıkıntı ortaya çıktı.Bu sıkıntıyıda yardımlarınız sayesinde alt etmeyi başarırım inşaallah.

Sıkıntı Şöyleki:
SELECT [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO], [m5-GİZLİ SİCİL NOTLARI].YILLAR, [m5-GİZLİ SİCİL NOTLARI].NOTU, [m5-GİZLİ SİCİL NOTLARI].[TERFİ DURUMU], IIf([TERFİ DURUMU]=Yes,"Terfi Yok","Terfi") AS Deyim1
FROM [m1-MEMUR PERSONEL BİLGİLERİ] INNER JOIN [m5-GİZLİ SİCİL NOTLARI] ON [m1-MEMUR PERSONEL BİLGİLERİ].[SİCİL NO] = [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO]
GROUP BY [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO], [m5-GİZLİ SİCİL NOTLARI].YILLAR, [m5-GİZLİ SİCİL NOTLARI].NOTU, [m5-GİZLİ SİCİL NOTLARI].[TERFİ DURUMU], IIf([TERFİ DURUMU]=Yes,"Terfi Yok","Terfi")
HAVING ((([m5-GİZLİ SİCİL NOTLARI].YILLAR) In (select top 6 [YILLAR] from [m5-GİZLİ SİCİL NOTLARI] as trz where [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO]=trz.[SİCİL NO] ORDER BY [YILLAR] DESC )))
ORDER BY [m5-GİZLİ SİCİL NOTLARI].[SİCİL NO], [m5-GİZLİ SİCİL NOTLARI].YILLAR;
Sorgusunda yukarıda bahsettiğim maksimum son altı değeri almayı başarabiliyoruz.Ancak istediğim şey;
eğer kişinin seçilen bu maksimum son altı değerinden herhangi bir satırın [Deyim1:] sütunuyla kesişme hücresinde "terfi yok" diyorsa söz konusu bu satırdan sonrasını alsın istiyorum.Yani ilgili kişinin maksimum son altı değerini değil, "terfi yok" satırından sonraki satırları göstersin.Eğer maksimum son altı değerin [Deyim1:] sütunuyla kesişme hücresinde "terfi" diyorsa maksimum son altı değeri göstersin.​

Sanıyorum derdimi ifade etmişimdir.
Çalışmamı ekte ilginize sunuyorum.Şimdidien teşekkürler ederim.
 

Ekli dosyalar

Üst