Ünvan ve doktor tablosu birleştirme

Arkadaşlar Benim ünvan tablom var. Şu şekilde
unvan_id:
unvan:(Atıyorum Seviye1,Uzman vs.)
maaş:

birde doktor tablom var
doktorid:
Poliklinik:
doktorismi:

Bunları joinle nasıl birleştirebilirim?, Id ile birleştirmek istiyorum
Mümkünse line-edit ve butonla nasıl yaparım arkadaşlar.
şimdiden teşekkür ederim

UNVAN_ID ile DOKTOR_ID sütunları eşit değerler mi taşıyorlar?

taşıması gerekiyor mu hocam.
taşımıcak sanırım
çünkü istediğim id yi çağırıcam

Join yapabilmek için en az 1 tane ortak sütuna sahip olmanız gerekiyor. En azından sizin bahsettiğiniz kurguda. Şöyle düşünün: Elimde doktor tablom var, bu tabloda doktor ismi, poliklinigi ve unvan_id sütunları var. Bir de unvan tablom var. Burada da unvana karşılık gelen maaş değerleri, yıllık izinleri ve unvan_id tutuyorum. Bu iki tabloyu iliskilendirebilmek için doktor tablomdaki bu unvan_id sahibi doktoru al, unvan_idsine bak, diğer tabloda bu id’ye karşılık gelen şunu veya şunları getir diyorum. Kişisel tecrübem kişinin join hayatının çoğu left join ile geçiyor, ki sizin senaryonun da öyle olduğunu düşünüyorum. Yapmanız gereken de bu iki tabloyu ortak paydada birleştirmek.

Hocam yardımlarınız için teşekkür ederim.
Bunun kodlamasını nasıl yapabilirim?
Araştırıyorum da net bir sonuç alamıyorum
veya link varsa atabilir misiniz?

Veri tabanı tarafı mı?

bkz: Soru Sorarken Sıkça Düşülen Hatalar #10

evet,veri tabanı tarafı

Öncelikle iki tabloyu eşleyebileceğin bir sütun oluştur. Sonra @aib hocamın bahsettiği üzere tabloları örneklendir. Sonra onun üzerinden birlikte anlata anlata yapalım.

hocam özelden mesaj atmanız mümkün mü?

Buradan yazsanız daha iyi olur.


    def join_refresh_button(self):

        self.ui.tableWidget_6.setHorizontalHeaderLabels(('Poliklinik', 'İsim', 'Seviye','Maaş')) # yeniden başlattığında sütun isimlerini veriyor
        self.ui.tableWidget_6.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # sütunları yayma
        im.execute("SELECT doktor.poliklinik,doktor.doktorismi,kategori.adi,kategori.maas FROM doktor INNER JOIN kategori ON doktor.doktor_id=kategori.id")
        okuma_islemi=im.fetchall()
        baglanti.commit()



        self.ui.tableWidget_6.setRowCount(0)
        for row_number, row_data in enumerate(okuma_islemi):
            self.ui.tableWidget_6.insertRow(row_number)
            for columb_number, data in enumerate(row_data):
                self.ui.tableWidget_6.setItem(row_number, columb_number, QTableWidgetItem(str(data)))

bu kodla hallettim sanırım

İstediğin değer dönüyorsa sıkıntı yok demektir. Bu arada execute edilen sorgu, veri tabanı üzerinde herhangi bir değişime sebep olmuyorsa her execute sonrası commit yapmanıza gerek yok.

hocam bu arada acemiliğim için lütfen kusura bakmayın.
Benim mesleğim makina elektriği üzerine.
Hayatımda bir değişiklik yaptım ocak ayında ve 3 aylık bir python kursuna yazıldım. 4bin tlye yüz yüze sınıf ortamında
Eğitim inanılmaz kötü geçti. Eğitim bittiğinde kimse class,SQL bilmiyordu o derece.
Öğrendiklerimi kaybetmemek ve daha yeni şeyler öğrenmek için sizleri yoruyorum,kusura bakmayın

Pythonda 2-3 proje yapmaya çalışıyorum.

Yaptıktan sonra çok iyi bir yazılımcıdan full stack eğitimi alacağım.
Yaşım 27
30’uma kadar yazılımcı olmayı hedeflıyorum.
Evliyim,işime gidip geliyorum. Akşamlarıda yazılıma veriyorum kendimi,zevkte alıyorum

İletişimin altın çağını yaşıyorken eğitime para verilir mi, bilemiyorum. Ben hobi olarak programlama öğrenen biriydim. Son işimde açtılar bir tane veri tabanı, bundan sorgu yapıyoruz dediler. :smiley: Normalde veri tabanı kısmından da hep nefret ederdim. O ara oturup, üç tane kitap indirip (Allah affetsin) ne var ne yok okuya okuya gittim. Şu an bir tane sunucuda günün her anı çalışan bir sürü betiğim var. Veri tabanları arası senkronizasyonlar mı dersiniz, mekânsal sorgularla coğrafi işlemler yapanlar mı… Hatta en son veri tabanı erişimi olmayan arkadaşlar için ne yapabiliriz derken Flask ile tanıştım. Hızlıca biraz doküman bakıp kör topal kaldırdım ayağa. Sonra birkaç kitap araştırıp onlara başladım. Bu süreçten çıkardığım sonuç şu: eğitimlere yüklü paralar ödeyip ders edasında baştan sona eğitim almak yerine temel mantığı kavrayıp ihtiyaç odaklı gitmek sizi daha fazla geliştirir. Tabii, bu şahsi kanaatim. Aksi de olabilir.

doktor tablosuna unvan_id eklerseniz, doktor kayıt ederken seçilen ünvanın id adresini oraya girer ve rahatça çekersiniz. Bence Veritabanı hakkında video ve belgeleri inceleyin.

hocam izliyorum da kendıme uyarlayamıyorum sıkıntı orda:)

şöyle bir sorunum var:

Hocam şimdi benim veritabanımda (sqlite) elle girdiğim doktor isimleri var.
Bunu combobox’a direk vermek istiyorum. Elle girmeme gerek var mı? veritabanındaki verileri direk comboboxa girebilir miyim?

Sonra seçtiğim doktor isimlerini sadece id’sini alacağım.Tabloya sadece id ile eklicem.

İkinci bir combobox olacak. Kategori adı ve maaş gözükecek(veritabanımda hazır herhalde fetchall ile hepsini çekerim değil mi?)
Bununda id sini alacağım

Bu iki id’yi 3.ncu tabloya doktor id ve kategori id olarak eklicem. Bununda adını:doktorlarkategoriler koyacağım

Sonra bir listeleme ekranı joinlerle bu tabloyu direk ekrana getireceğim.

Kusura bakmayın anlamaya calısıyorum da id ile hiç çalışmadım cok karmaşık geliyor.

Bu anlattıklarıma dair link vs varsa atabilirsiniz veya yardımcı olursanız da cok sevinirim. Sayenizde çok şey öğreniyorum

burda mısın aziz dostum?