AccessTr.neT

Tam Versiyon: Min() Fonksiyonu İle Sorgu Yapma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
rhabalar.
Accesste min() fonksiyonu ile sorgu yapmak istiyorum. Fakat ne kdar uğraştı isemde sonuç elde edemedim. 
Kapanış tarihi olmayan en küçük sıra nolu dosyayı seçecek bir sorgu yapmak istiyorum.

TABLO
[Resim: do.php?img=8692]

SORGU SONUCU
[Resim: do.php?img=8693]
İnternetten topladığım sorgular ekteki dosyada mevcuttur.

Teşekkürler.
göndermiş olduğunuz örnekte sorgu 1 direkt işinizi görür fakat NZ ile çevirim yapmaktansa tarihi is null ile süzdürebilirsiniz. aşağıdaki gibi

SELECT İCRA_DOSYALARI.TCKN, İCRA_DOSYALARI.ADI, İCRA_DOSYALARI.SOYADI, İCRA_DOSYALARI.SIRA, İCRA_DOSYALARI.DOSYA_NO, İCRA_DOSYALARI.KAPANIŞTARİHİ
FROM İCRA_DOSYALARI
WHERE (((İCRA_DOSYALARI.[SIRA])=(SELECT MIN(SIRA)
FROM İCRA_DOSYALARI
WHERE  Nz(KAPANIŞTARİHİ)="" )))
GROUP BY İCRA_DOSYALARI.TCKN, İCRA_DOSYALARI.ADI, İCRA_DOSYALARI.SOYADI, İCRA_DOSYALARI.SIRA, İCRA_DOSYALARI.DOSYA_NO, İCRA_DOSYALARI.KAPANIŞTARİHİ
HAVING (((İCRA_DOSYALARI.KAPANIŞTARİHİ) Is Null));


sorgu 2 şu şekilde düzelterek kullanabilirsiniz.

SELECT İCRA_DOSYALARI.TCKN, İCRA_DOSYALARI.ADI, İCRA_DOSYALARI.SOYADI, İCRA_DOSYALARI.SIRA, İCRA_DOSYALARI.DOSYA_NO, İCRA_DOSYALARI.KAPANIŞTARİHİ
FROM İCRA_DOSYALARI
WHERE (((İCRA_DOSYALARI.[SIRA])=(SELECT MIN(SIRA)
FROM İCRA_DOSYALARI
WHERE  Nz(KAPANIŞTARİHİ)="" )))
GROUP BY İCRA_DOSYALARI.TCKN, İCRA_DOSYALARI.ADI, İCRA_DOSYALARI.SOYADI, İCRA_DOSYALARI.SIRA, İCRA_DOSYALARI.DOSYA_NO, İCRA_DOSYALARI.KAPANIŞTARİHİ
HAVING (((İCRA_DOSYALARI.KAPANIŞTARİHİ) Is Null));


aslında sorgu1 sorgunuz işe yarıyar fakat tablonuzdaki kayıtlarda sorun olduğu için sanırım fark edemediniz. sıra no 4 kere 1 tekrar ettiği için en küçük numarada 1 olduğu için 4 tane kayıt getirmekte. sorgu çalışıyor.
Üstad Arzu isimli personelin sıradaki dosya numarası 2 olduğu için onu getirmiyor. 4 değil 5 sonuç olması gerekiyor.
Merhaba,

Yeni bir sorgu oluşturup Sql kaynağına aşağıdaki kodu yazınız.

SELECT * FROM İCRA_DOSYALARI WHERE (((Kimlik) In (SELECT Kimlik FROM İCRA_DOSYALARI INNER JOIN (SELECT Min(SIRA) AS EnAzSIRA, TCKN, KAPANIŞTARİHİ FROM İCRA_DOSYALARI GROUP BY TCKN, KAPANIŞTARİHİ HAVING (((KAPANIŞTARİHİ) Is Null))) AS srg_enazKimlik ON (İCRA_DOSYALARI.SIRA = srg_enazKimlik.EnAzSIRA) AND (İCRA_DOSYALARI.TCKN = srg_enazKimlik.TCKN) GROUP BY Kimlik))) ORDER BY TCKN;

Ayrıca, tablo isimlerine ve tablodaki alan isimlerine dikkat ediniz. Yapılmaması Gereken Ölümcül HatalarURL'ye Git
(15/01/2019, 17:46)ozanakkaya yazdı: [ -> ]Merhaba,

Yeni bir sorgu oluşturup Sql kaynağına aşağıdaki kodu yazınız.

SELECT * FROM İCRA_DOSYALARI WHERE (((Kimlik) In (SELECT Kimlik FROM İCRA_DOSYALARI INNER JOIN (SELECT Min(SIRA) AS EnAzSIRA, TCKN, KAPANIŞTARİHİ FROM İCRA_DOSYALARI GROUP BY TCKN, KAPANIŞTARİHİ HAVING (((KAPANIŞTARİHİ) Is Null))) AS srg_enazKimlik ON (İCRA_DOSYALARI.SIRA = srg_enazKimlik.EnAzSIRA) AND (İCRA_DOSYALARI.TCKN = srg_enazKimlik.TCKN) GROUP BY Kimlik))) ORDER BY TCKN;

Ayrıca, tablo isimlerine ve tablodaki alan isimlerine dikkat ediniz. Yapılmaması Gereken Ölümcül HatalarURL'ye Git

Üstad çok teşekkür ederim. Elinize ve emeğinize sağlık.
(15/01/2019, 17:46)ozanakkaya yazdı: [ -> ]Merhaba,

Yeni bir sorgu oluşturup Sql kaynağına aşağıdaki kodu yazınız.

SELECT * FROM İCRA_DOSYALARI WHERE (((Kimlik) In (SELECT Kimlik FROM İCRA_DOSYALARI INNER JOIN (SELECT Min(SIRA) AS EnAzSIRA, TCKN, KAPANIŞTARİHİ FROM İCRA_DOSYALARI GROUP BY TCKN, KAPANIŞTARİHİ HAVING (((KAPANIŞTARİHİ) Is Null))) AS srg_enazKimlik ON (İCRA_DOSYALARI.SIRA = srg_enazKimlik.EnAzSIRA) AND (İCRA_DOSYALARI.TCKN = srg_enazKimlik.TCKN) GROUP BY Kimlik))) ORDER BY TCKN;

Ayrıca, tablo isimlerine ve tablodaki alan isimlerine dikkat ediniz. Yapılmaması Gereken Ölümcül HatalarURL'ye Git

ÜSTAD ŞÖYLE BİR SIKINTIYLA KARŞILAŞTIM.
BİR PERSONELİN AYNI ANDA KESİLEN 2 İCRASI VAR. BİRİ BİTİP KAPANIŞ TARİHİ GİRİLDİĞİ HALDE KESİNTİ LİSTESİNE GETİRİYOR.
ÖNERİNİZ NEDİR?
Sayfalar: 1 2