Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Left Outer kullanimi
#1
Merhaba

Sqlite db uzerinde iki tabloyuleft outer ile istedigim sekilde alamadim.
Ilk tablom ogrenci tablosu ve ogrenciye tum id sube ad soyad bilgileri mevcut
Sinavlar isimli Ikinci tabloda ise ogrenci id,ders adi ve sinav notu bulunuyor.
Select *
From Ogrenci O
Left outer join sinavlar s on o.id=s.ogrenciid
Where sube=:sube and dersadi=:dersadi
Amacim ilk tablo olan ogrenci tablosundaki sube kriterine uyan tum ogrenciler ikinci tablodan ise ders adina uyan kriterlerine uyan varsa ogrenci adinin yanina ders adi olmayanlarin da ilgili sutunlarinin bos gelmesini istiyorum.
Uygun select sorgusunu yazamadim.

Iyi calismalar.
Cevapla
#2
Selamlar,
Düşünüş olarak biraz terslik olmuş. Normalde detay tablosu solda (left) ve master tablosu ise sağda olmalıdır. Yani
select s.*, o.* from sinavlar s left outer join ogrenci o on(o.id=s.ogrenciid)
where sube=:sube and dersadi=:dersadi;

Ya da eğer öğrencinin sınav kaydı olmasa da listede çıkmasını istiyorsanız bu durumda full outer join kullanmalısınız,

select s.*, o.* from sinavlar s full outer join ogrenci o on(o.id=s.ogrenciid)
where sube=:sube and dersadi=:dersadi;

Ancak ben bendeki SqLite sürümünde denediğim zaman bunun desteklenmediğini söyledi. Haliyle bu istediğinizi SQLite'de yapamazsınız!
Cevapla
#3
Full outer join desteginin olmamasi hatasi bendede verdi.
Baska bir sorgu yada iki farkli query nnesnesi ile sorunu cozmek zorunda kalacagim.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Aşırı Field Kullanımı hk. uparlayan 9 606 15-02-2020, Saat: 13:46
Son Yorum: otonomi
  Generator kullanımı Lord_Ares 6 1.582 05-10-2018, Saat: 08:51
Son Yorum: esistem
  FireBird Merge Into Kullanımı mcuyan 2 892 13-08-2018, Saat: 12:40
Son Yorum: mcuyan
  Firebird'de bellek Kullanımı rmzgenius 1 881 25-06-2018, Saat: 15:34
Son Yorum: klavye
  Tigger Kullanımı cscoding 1 849 24-06-2018, Saat: 15:09
Son Yorum: masteryoda



Konuyu Okuyanlar: 1 Ziyaretçi