mehmetduran.com - Paylaşmak Güzeldir...
İnner Join ile Tabloları Bağlama
Veritabanı uygulamaları ile ilgili paylaşımlarıma devam ediyorum. Şimdi de inner join ile 2 tablo arasında ilişki kurma üzerine bir örnek verdim. Bu örnekte; ürünler ve kategoriler var ve biz inner join ilişkisi ile hangi ürünün hangi kategoride olduğunu belirleyeceğiz.

Kodlarımıza ve veritabanımıza bakacak olursak:

Örnek veritabanımız şu şekilde olacak:

İnner Join - Veritabanı

Ve inner join ilişkisi ile yapacağımız işlemi gerçekleştiren sorgu ise şöyle olacak:

string sorgu = "select kategoriler.kategori from kategoriler 
inner join urunler on kategoriler.kategori_id=urunler.kategori_id
where urunler.urun_id=@urun_id"
;
Bu sorgu ile hangi ürünün hangi kategoride olduğunu seçiyoruz. Peki nasıl kullancağız? Yazacağımız string tipi metodla bu işlemi gerçekleştirip metot ile elde ettiğimiz kategoriyi döndereceğiz.

public string kategori_getir(string urun_id)
    {
        string sonuc = "";
        string sorgu = "select kategoriler.kategori from kategoriler inner join urunler on kategoriler.kategori_id=urunler.kategori_id where urunler.urun_id=@urun_id";
        OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
        komut.Parameters.AddWithValue("@urun_id", urun_id);
        baglanti.Open();
        OleDbDataReader oku = komut.ExecuteReader();
        oku.Read();
        sonuc = oku[0].ToString();
        baglanti.Close();
        return sonuc;
    }

Bu metot ile dönen kategoriyi ise herhangi bir data formunda listelettiğim ürünlerin hemen altına yazdıracağım. Yaptığım uygulamanın ekran görüntüsü ise şöyle:

İnner Join - Ekran Görüntüsü

Access veritabanı ile yaptığım uygulamayı buradan indirebilirsiniz.
İyi Çalışmalar!

Mehmet Duran 25 Ağustos Pazartesi 2008 6 66389 3,4
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar .Net'te MySql ExecuteScalar Metodunu Kullanma MySql'de limit ve rand Kullanımı Asp.net'te Veritabanına Kayıt Ekleme Ardından Primary Alan Değerini Alma Asp.net ile Veritabanından Rasgele Kayıt Çekme MySql Veri Türleri ve Select Komutu Örnekleri
Yorumlar
Yorum Yaz
RSS Yorum Takibi
teşekkürler 14 Ekim Salı 2008 16:39 #1
teşekkürler
Kenan 25 Ocak Pazartesi 2010 16:02 #2
inner join ile 3 tabloyu birbirine nasıl bağlarım bilgi verebilirmisiniz
Mehmet Duran 25 Ocak Pazartesi 2010 22:26 #3
Buradaki yazımda left join ile 3 tabloyu bağlama örneği sunmuştum. İşini görebilir.
Anka Kuşu 09 Şubat Çarşamba 2011 16:35 #4
paylasim icin tesekkurler Anka Kuşu http://ankasecurity.com/forum/
tosun 22 Nisan Cuma 2011 11:08 #5
Merhaba,
Yukarıda 2 tablolu uygulama göstermişiniz. Üç tablolu uygulamada inner join nasıl olacak acaba? Benim bir uygulamam var, hata veriyor. tblCountry, tblCity ve tblKoy isimli 3 tablo.
<% sQuery = "SELECT * FROM tblCountry INNER JOIN tblCity ON tblCountry.countryID=tblCity.countryID, INNER JOIN tblKoy ON tblCity.cityID=tblKoy.cityID, tblCity.countryID=tblKoy.countryID ORDER BY tblCountry.countryName, tblCity.cityName, tblKoy.koyName;" %>
Yardımcı olursanız, sevinirim.Şimdiden teşekkürler
Mehmet Duran 22 Nisan Cuma 2011 23:10 #6
@tosun, sorgunun büyük kısmı doğru ama son kısımda bir fazlalık var gibi. Şu şekilde denersen sonuç alabilirsin.
sQuery = "SELECT * FROM tblCountry INNER JOIN tblCity ON tblCountry.countryID=tblCity.countryID INNER JOIN tblKoy ON tblCity.cityID=tblKoy.cityID ORDER BY tblCountry.countryName, tblCity.cityName, tblKoy.koyName"
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Başarısızlıklarınız ile soylu bir şekilde yüzleşin, başarıdan farkı kalmayacaktır.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009