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
SORGU SONUCU
İ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 Hatalar
(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 Hatalar
Ü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 Hatalar
Ü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?