Menjalankan sql join table dengan pymysql di python

berikut ini adalah code python yang akan dijalankan gan :

import pymysql as sql

db = sql.connect("localhost","root","","wadidaw" )
cursorgetinfomahasiswa = db.cursor()

nim = '1503015073'
sqlgetinfomahasiswa = "SELECT * FROM dataset_mahasiswa a INNER JOIN (SELECT nim as nomorinduk, semester as semesterinduk, SUM(sks) as total_sks, SUM(CASE WHEN nilai = 'A' THEN sks*4 WHEN nilai = 'B' THEN sks*3 WHEN nilai = 'C' THEN sks*2 WHEN nilai = 'D' THEN sks*1 WHEN nilai = 'E' THEN '0' END ) as total_bobot FROM dataset_mahasiswa WHERE status_pengambilan = 'Y' GROUP BY nomorinduk, semesterinduk ) b ON a.nim = b.nomorinduk AND a.semester = b.semesterinduk WHERE a.nim = '%s' AND status_pengambilan = 'Y' ORDER BY a.semester DESC" % (nim)
#print(sqlgetinfomahasiswa)
try:
    cursorgetinfomahasiswa.execute(sqlgetinfomahasiswa)
    resultsgetinfomahasiswa = cursorgetinfomahasiswa.fetchone()
    print(resultgetinfomahasiswa)
    for datainfomahasiswa in resultsgetinfomahasiswa:
        jumlahsks = datainfomahasiswa[11]
        jumlahbobot = datainfomahasiswa[12]
        print("sks : %s" % jumlahsks)
        print("bobot : %s" % jumlahbobot)
        #print(*datainfomahasiswa)
        ipk = (jumlahbobot/jumlahsks)
        if ipk <= 1.49:
            sks = 12
        elif 1.50 <= ipk <= 1.99:
            sks = 15
        elif 2.00 <= ipk <= 2.49:
            sks = 18
        elif 2.50 <= ipk <= 2.99:
            sks = 21
        elif 3.00 <= ipk <= 4.00:
            sks = 24
        semester = (datainfomahasiswa[4]+1)
        statuspengambilan = 'mengulang'
        print("NIM : '%s' Semester : '%s' Status Pengambilan : '%s' Maks SKS : %s" % (nim, semester, statuspengambilan, sks))
except Exception as ex:
	print ("Error: unable to fetch data mahasiswa")
	print (ex)

jadi ane pengen ngitung jumlah sks dan jumlah bobot dari nilai kuliah mahasiswa, tujuan nya itu buat ngitung IPK di semester terakhir, makanya di akhir itu ane tambahin ORDER BY semester DESC

ini penampakan tabel yang ane gunakan :

dan ini file database nya gan, ane pake MySql

<a href='.sql'>1</a>

nah hasil eksekusi nya :

Error: unable to fetch data mahasiswa name 'resultgetinfomahasiswa' is not defined

ane rasa sih pymysql ini gak support sama script sql-nya, karena ketika script sql nya ane coba di xampp bisa, nih bukti nya gan :

mohon bantuan nya :)

avatar irwantkj
@irwantkj

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

1 Jawaban:

Errornya: Error: unable to fetch data mahasiswa name 'resultgetinfomahasiswa' is not defined

artinya variable "resultgetinfomahasiswa" tidak ada diatas alias belum kamu definisikan

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban