Şimdi Ara

ASP SQL Sorunu (Join)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
430
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar;

    Bir okul için yazılım yazmaktayım fakat bir SQL cümlesini yazmakta sorun yaşıyorum.
    Öğretmenlerin her ay her öğrenci ile ilgili yazdıkları raporları kayıt altına alıyorum. Bunları da daha sonra öğretmen bazında aylık rapor almak istiyorum.
    Bir öğretmenin kaç öğrenci hakkında rapor yazması gerektiği öğrenci tablosunda belirleniyor. ogretmen_id alanında her öğrenciye bir öğretmen atıyorum.
    Bu şekilde bir öğretmenin aylık atıyorum 10 rapor yazması, diğerinin 15 rapor yazması gerekiyor. Yapamadığım nokta left join veya ona benzer bir yapıyla öğretmene ait bütün öğrencilerin listelenmesi fakat rapor yazılmayan öğrencilerin de isimlerinin gelip rapor kısmının boş olması. Şu an yaptığım kod ile bir öğretmenin 15 rapor yazması gerekirken 10 rapor yazmışsa sadece 10 rapor geliyor. Diğer 5 öğrenci bilgisi gelmiyor. Ben öğretmenin bütün öğrencileri gelsin, varsa raporu da görüntülensin, yoksa rapor kısmı boş gelsin istiyorum.
    Şu an kullandığım kod şu:

    Select Y.okul_no,Y.ad,Y.soyad,X.rapor,x.rapor_tarihi,x.log_user from raporTBL X, ogrenciTBL Y where Y.ogretmen_id=123 and Y.rapor_donem=4 AND Y.ogrenci_id=x.ogrenci_id

    Koddaki ogretmen_id ve rapor_donem alanları form üzerinde geliyor



    OgrenciTBL
    ogrenci_id
    ad
    soyad
    ogretmen_id.
    .
    .



    RaporTBL
    rapor_id
    rapor_donem
    ogrenci_id
    ogretmen_id
    rapor
    rapor_tarihi
    .
    .


    Bu konuda yardımcı olabilecek arkadaşlara şimdiden teşekkürler..







  • Kolay gelsin.

     ASP SQL Sorunu (Join) ASP SQL Sorunu (Join)



    < Bu mesaj bu kişi tarafından değiştirildi fsh77 -- 6 Ocak 2014; 19:15:11 >




  • Öncelikle ilginiz için teşekkürler.

    Ancak tam istediğim bu değildi. Bu sonucu ben de elde edebiliyorum aslında.
    Göndermiş olduğunuz tabloları şöyle düşünün.
    Öğrenci Tablosunda şu an toplam 6 öğrenci kayıtlı. Ve bunlardan 3 tanesinin öğretmeni 3 nolu öğretmen. (id si 4,5 ve 6 olan öğrenciler.)
    Rapor tablosunda bu 3 öğrenciye ait rapor olmadığını, sadece 2 rapor olduğunu varsayalım. (6,7 ve 8 nolu raporlar) Farzedelim ki 8 nolu rapor yazılmamış.

    ben sorgu sonucunda 3 nolu öğretmenin raporlarını görmek istiyorum.
    Öğretmenin 3 öğrencisi var, fakat 2 rapor var.
    Ben 3 öğrenciyi de görüp , var olan raporları görmek istiyorum.

    Biraz karışık oldu sanırım ama şimdiden tekrar teşekkürler.





     ASP SQL Sorunu (Join)




  • Merhaba Dostum;
    Görüntülemek İçin DataGridView Kullanıyorsan Aşağıdaki Satırlar Görünmesini İstemediğin Satırları Engelleyebilirsin:

    dataGridView1.Columns["ogretmen_id"].Visible = false;

    Yalnız Dikkat Etmen Gereken Bişey Var. Datagridview Dolduktan Sonra Bu Satırı Yazmalısın. Yoksa "ogretmen_id" Diye Birşey Yok Diye Hata Verir.
  • Yok üstad Grid kullanmıyorum.
    Classic ASP kodlaması kullanıyorum.

    Tablo içine dökülüyor satırlar.

    Yine de teşekkürler
  • SELECT O.ad,O.soyad,R.rapor,R.rapor_tarihi
    FROM RaporTBL R
    RIGHT JOIN
    OgrenciTBL O
    ON R.ogrenci_ID=O.ogrenci_ID
    --WHERE O.ogretmen_ID=3
    GROUP BY O.ogretmen_ID,O.ad,O.soyad,R.rapor,R.rapor_tarihi
    HAVING O.ogretmen_ID=3

    İstersen right ,left de onemli degil burda,Where kullan yada kullanma...
     ASP SQL Sorunu (Join)



    < Bu mesaj bu kişi tarafından değiştirildi fsh77 -- 7 Ocak 2014; 12:44:53 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.