AccessTr.neT
Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu (/konu-ogrencilerin-aldigi-fakat-telim-etmedigi-kitaplari-bulma-sorgusu.html)

Sayfalar: 1 2


Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - mustinba - 17/01/2021

numara   durum     kitap adı
1           Aldı     kitap 2
2           Aldı     kitap 3
1           Teslim       kitap2


örnek okunan kitaplar tablomdaki veriler.
2 nolu öğrenci kitap 3 adlı kitabı almış fakat teslim etmemiş bunu sorgu kullanarak nasıl bulabilirim.
tablolarımda herhangi bir değişiklik yapmadan.


RE: Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - atoykan - 17/01/2021

Merhaba Sayın @mustinba

Tablolarınızdaki kayıtlara göre kitap teslim etmeyen öğrenciler sanırım "aldı" yazanlar.
Kitap alan öğrenci numarası adı soyadı sınıfı şubesi hangi verileri istediğinizi bilmiyorum ona istinaden mantıklı olabiliecek değerleri sorgunuza ilave ediyorum, siz istemediklerinizi içinden çıkartırsınız.
Sorgunuz için aşağıdaki kodu kullanabilirsiniz:
SELECT Ogrenciler.Numara, Ogrenciler.Ad, Ogrenciler.Soyad, Ogrenciler.Sinif, Ogrenciler.Sube, OkunanKitaplar.tarih, OkunanKitaplar.ogretmen, OkunanKitaplar.num, OkunanKitaplar.durum
FROM Ogrenciler INNER JOIN OkunanKitaplar ON Ogrenciler.Numara = OkunanKitaplar.num
WHERE (((OkunanKitaplar.durum)="aldı"));



RE: Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - mustinba - 17/01/2021

(17/01/2021, 22:00)atoykan yazdı: Merhaba Sayın @mustinba

Tablolarınızdaki kayıtlara göre kitap teslim etmeyen öğrenciler sanırım "aldı" yazanlar.
Kitap alan öğrenci numarası adı soyadı sınıfı şubesi hangi verileri istediğinizi bilmiyorum ona istinaden mantıklı olabiliecek değerleri sorgunuza ilave ediyorum, siz istemediklerinizi içinden çıkartırsınız.
Sorgunuz için aşağıdaki kodu kullanabilirsiniz:
SELECT Ogrenciler.Numara, Ogrenciler.Ad, Ogrenciler.Soyad, Ogrenciler.Sinif, Ogrenciler.Sube, OkunanKitaplar.tarih, OkunanKitaplar.ogretmen, OkunanKitaplar.num, OkunanKitaplar.durum
FROM Ogrenciler INNER JOIN OkunanKitaplar ON Ogrenciler.Numara = OkunanKitaplar.num
WHERE (((OkunanKitaplar.durum)="aldı"));


bu sorguda Kitap alanlar listeleniyor.

örneğimde

1 nolu öğrenci kitap 2 yi almış ve teslim etmiş (sorguda bu olmasın)
ancak 2 nolu öğrenci kitap 3 ü almış fakat teslim etmemiş(bunları bulmak istiyorum)


RE: Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - berduş - 17/01/2021

aşağıdaki kodu dener misiniz?
Ama kitaplar için yeni bir tablo oluşturmanız daha uygun olur
mesela kayıtların birinde Kitap2 iken diğerinde Kitap 2 bir boşluk bile bozuyor
SELECT OkunanKitaplar.num, OkunanKitaplar.kitap, Last(OkunanKitaplar.durum) AS Sondurum
FROM OkunanKitaplar
GROUP BY OkunanKitaplar.num, OkunanKitaplar.kitap
HAVING (((Last(OkunanKitaplar.durum))="aldı"));



RE: Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - mustinba - 17/01/2021

(17/01/2021, 23:04)berduş yazdı: aşağıdaki kodu dener misiniz?
Ama kitaplar için yeni bir tablo oluşturmanız daha uygun olur
mesela kayıtların birinde Kitap2 iken diğerinde Kitap 2 bir boşluk bile bozuyor
SELECT OkunanKitaplar.num, OkunanKitaplar.kitap, Last(OkunanKitaplar.durum) AS Sondurum
FROM OkunanKitaplar
GROUP BY OkunanKitaplar.num, OkunanKitaplar.kitap
HAVING (((Last(OkunanKitaplar.durum))="aldı"));

teşekkürler dediğiniz gibi ysptım oldu.
İyi çalışmalar.


RE: Öğrencilerin Aldığı Fakat Telim Etmediği Kitapları Bulma Sorgusu - berduş - 17/01/2021

bu arada ufak bir öneri OkunanKitaplar tablonuzun yapısını değiştirmeniz gerek bence
Aldı/Teslim alanı yerine o alanı tarih türünde  IadeTrh olarak değiştirin böylece alma ve iade tarihinin olduğu tek kayıt olur, IadeTrh alanı boşsa kitap getirilmemiş demektir