Sqlite inner join meselesi

Arkadaşlar merhaba bir sistem var da joinlerin hangisi kullanayım bılmıyorum (joinleri öğrenme aşamasındayım)

Sistemde doktorlar var ve bu doktorların maaş kategorisi var(bu kategoriyi nasıl yapayım fikir verir misiniz?)
Maaş bilgisini 5 yıllık,10 yıllık vs kategoriye sokmaya karar verdim.

Maaş bilgilerini alıp direk doktora ekleyeceğim
Maaş tablosu ve doktor tablom var. (doktor tablom yok da başka bir tablonun içinde doktor sütunum var. yeniden doktor tablosu kurmam gerekiyor mu?)

Burda maaş tablosu ve doktor tablosunu birleştirmem gerekiyor sanırım
Fakat bunun mantığını anlayamıyorum araştırdım ama anlayamadım.
Bu işin külhüne varan arkadaşlardan yardım istiyorum

Yapmak istediğin seyi bir örnek üzerinden anlatabilir misin?

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

Hocam doktorlara maaş ekleyeceğim,eklediğim maaş bilgisi kategorik olarak 5yıllık ve 10yıllık aynı olmayaccak

Maaş ve kategoriyi ekrandan ekleyebileceğim

Burda join kullanmam gerekiyor mu?

iki tabloyu birleştirirken where ile veya join ile birleştirebilirsin. Burada önemli olan iki tabloda da ilişkilendirebileceğin en az bir sütun olması.

seni rahatsız edeceğim güzel dostum.:slight_smile: bir sorunum daha var

tablewidget ekranım var 2 tane lineedidt ve bir butonum var güncelleme butonu.

Ekranda gördüğüm bazı verileri,line edite yazıp güncelle butonuna bastıgım zaman güncellesin istiyorum hem ekranda hemde veritabanında. Şöyle birşeylr yazdım. Silme ve ekleme işlemini yaptım da güncelleme de takıldım.


    def kategori_guncelleme(self):
        baglanti = sqlite3.connect('C:\hastaneotomasyon\projee.db')
        im = baglanti.cursor()

        ad = self.ui.kategori_adline.text()
        maas = self.ui.kategori_maas_line.text()

        im.execute("UPTADE kategori SET adı=? WHERE ad=? ", # buralarda tıkandım
                   [ad])
        try:
            baglanti.commit()
            print("Kayıt başarıyla silindi")
        except:
            print("kayıt silinemedi")


    def kategori_sil(self):
        baglanti = sqlite3.connect('C:\hastaneotomasyon\projee.db')
        im = baglanti.cursor()

        ad = self.ui.kategori_adline.text()
        maas = self.ui.kategori_maas_line.text()

        im.execute("DELETE FROM kategori WHERE adı=? and maas=? ",
                   [ad,maas])
        try:
            baglanti.commit()
            print("Kayıt başarıyla silindi")
        except:
            print("kayıt silinemedi")






    def kategori_ekleme(self):
        baglanti = sqlite3.connect('C:\hastaneotomasyon\projee.db')
        im = baglanti.cursor()

        ad=self.ui.kategori_adline.text()
        maas=self.ui.kategori_maas_line.text()

        im.execute("INSERT INTO kategori(adı,maas) VALUES (?,?)",
                           [ad, maas])
        try:

            baglanti.commit()
            print("Kategori tablosuna bağlanıp,kaydedildi")
        except:
            print("Failed")


Güncellemede nerede takılıyorsun?

Syntax hatası diyor çözemiyorum. Amacım sadece iki değeride güncellemek.

Burada [ad] bir tane değer mi döndürüyor?

       def kategori_guncelleme(self):
        cevap=QMessageBox.question(self, "KAYIT GÜNCELLE", "Kaydı güncellemek istediğinize emin misiniz?", \

                                    QMessageBox.Yes | QMessageBox.No)
        if cevap==QMessageBox.Yes:
            try:
                secili=self.ui.tableWidget_5.selectedItems()
                _Id=int(secili[0].text())
                ad = self.ui.kategori_adline.text()
                maas= self.ui.kategori_maas_line.text()

                im.execute("UPTADE kategori SET adı=?,maas=? WHERE kategorid=?",\
                           (ad,maas,_Id))
                baglanti.commit()

            except Exception as Hata:
                self.ui.statusBar.showMessage("Şöyle bir hata meydana geldi",+str(Hata))
        else:
            self.ui.statusBar.showMessage("Güncelleme iptal edildi",10000)


burda uptade syntax error diyor cok sacma ya cidden

fonksıyon def olcak. eklemeyi unuttum kodda def diye yazılı

Tırnak sayısını üçe çıkarıp denediniz mi?

denedim yine uptade syntax error diyor o kadar saçma ki

UPDATE değil mi UPTADE yerine? Bir de hata aldığınızda hata mesajlarını da paylaşmanızı rica ederim “Traceback…” diye başlayan kısımdan sonuna kadar.

Ona hiç dikkat etmedik :person_facepalming:

near “UPTADE”: syntax error

çözdüm sağ olun dostlar