Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es einen falschen Code mit meiner Abfrage, um der Tabelle beizutreten?

Ich weiß nicht, was das genaue Problem ist, aber Ihr WHERE Klausel hat ein Problem:

WHERE IPK IS NOT NULL

Es ist nicht erlaubt, im WHERE auf einen Spaltenalias zu verweisen Klausel, da ihr Wert noch nicht bestimmt werden kann. Stattdessen sollten Sie Folgendes verwenden:

WHERE akdhis_kelanjutanstudi.IPK IS NOT NULL

Aktualisierung:

Die Klammern, die Sie in Ihrer ursprünglichen Ansicht verwendet haben, sehen seltsam, unnötig und möglicherweise falsch aus. Versuchen Sie Folgendes:

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`
    SQL SECURITY DEFINER VIEW aIPK AS
SELECT t4.Kode AS Fakultas,
       t3.Kode AS Departemen,
       t1.NIM AS NIM,
       t1.TahunMasuk AS TahunMasuk,
       t6.IPK AS IPK
FROM akdmst_mahasiswamagister t1
LEFT JOIN akdmst_mayor t2
    ON t1.MayorID = t2.ID
LEFT JOIN ipbmst_departemen t3
    ON t2.DepartemenID = t3.ID
LEFT JOIN ipbmst_fakultason t4
    ON t3.FakultasID = t4.ID
LEFT JOIN ipbmst_orang t5
    ON t1.NIM = t5.NIMS2Key
LEFT JOIN akdhis_kelanjutanstudi t6
    ON t6.NIM = t5.NIMS2Key
WHERE t6.IPK IS NOT NULL
ORDER BY NIM
LIMIT 100;