Sorguda kendi içinde ilk 5 kayıt

Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Merhaba,

elimde ekteki gibi bir tablo var.Bu tablodaki kayıtları kendi içinde ilk 5 kayıt için yeni bir tablo yapmak istiyorum.
Şu şekilde;
Tabloda A kolonundaki ilk 5, B kolonundaki ve C kolonlarındaki ilk 5 şeklinde ,
Böyle bir sorguyu nasıl yazarım.

Saygılar...
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
İlginç, neden böyle birşeye ihtiyaç var?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın MURATT,

Bu sql deyimi içinde TOP ile gerçekleşebilir TOP 5, TOP 10 vs Uygulamanızda bir sorgu açıp sql bölümüne aşağıdaki kodları kopyalayıp yapıştırın.

SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1;


İyi çalışmalar:)
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
TOP bu istenileni sağlamaz.

Sadece sorgu ile çözülemez gibi geliyor bana.

Modül yazılmalı, Adox kullanılmalı ...vs.vs.

Ancak sebebini öğrenseydik, belki başka öneriler olabilirdi.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın MURATT,

Kusurabakmayın her türün ilk beşini bulup birleştirmek istiyorsunuz. O zaman UNION SELECT ile birleştirme sorgusu yapmanız gerekir.

Aşağıdaki SQL deyimini uygulamanızda açacağınız bir sorguya kopyalayıp yapıştırın:

Kod:
SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1
WHERE (((Table1.KOD)="A"));
UNION SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1
WHERE (((Table1.KOD)="B"));
UNION SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1
WHERE (((Table1.KOD)="C"));
İyi çalışmalar:)
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Sayın MURATT,

Kusurabakmayın her türün ilk beşini bulup birleştirmek istiyorsunuz. O zaman UNION SELECT ile birleştirme sorgusu yapmanız gerekir.

Aşağıdaki SQL deyimini uygulamanızda açacağınız bir sorguya kopyalayıp yapıştırın:

Kod:
SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1
WHERE (((Table1.KOD)="A"));
UNION SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1
WHERE (((Table1.KOD)="B"));
UNION SELECT TOP 5 Table1.KOD, Table1.ADET
FROM Table1
WHERE (((Table1.KOD)="C"));
İyi çalışmalar:)
sayın modalı teşekkür ederim yalnız A ,B, C değerlerini elle girmeden yapılabilirmi çünkü bende 100 e yakın kod değeri var ve 100 kez bunu yapmak gerekiyor.Bir şekilde değerleride sql'e girdim ama bu seferde sql kod çok uzun diyor.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın MURATT,

O zaman bir tane geçici tablo yaratın, bu tablo ilgili form her açıldığında silinsin, ondan sonra da form arkasında ADO bağlantısıyla ilgili sql cümleleri çalıştırılsın ve kayıtlar bu tabloya yazılsın. Ondan sonra da bir tane basit sorguyla verileri bu tablodan okuyun. Aklıma şimdilik bu geliyor. Ama inanın iyi bir çözüm. Kriterleride yine bir SELECT DISTINCT sorgusuyla teker teker alıp yeni sql cümlesine ekleyin ve buradan aldığınız verileri tabloya yazdırın.


İyi çalışmalar:)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın MURATT,

Oturup uygulamayı yaptım. Bence güzel oldu. Eklememin bir sebebi de, Kodla kayıt silme sorgusu, kayıt ekleme sorgusu, seçme sorgusunun ve ADO bağlantılarının bu uygulamada kullanılmış olması.

Gerekli açıklamaları kodların yanında yaptım.

Sorusu olanlara yardımcı olurum.

İyi çalışmalar:)
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
sn. modalı teşekkürler çok yardımcı oldunuz.
 
Üst