Mysql
 sql >> Base de données >  >> RDS >> Mysql

Y a-t-il un code erroné avec ma requête pour joindre la table ?

Je ne connais pas le(s) problème(s) exact(s), mais votre WHERE la clause a un problème :

WHERE IPK IS NOT NULL

Il n'est pas autorisé de faire référence à un alias de colonne dans le WHERE clause, car sa valeur n'est peut-être pas encore déterminée. À la place, vous devriez utiliser ceci :

WHERE akdhis_kelanjutanstudi.IPK IS NOT NULL

Mise à jour :

Les parenthèses que vous avez utilisées dans votre vue d'origine semblent étranges, inutiles et peut-être fausses. Essayez d'utiliser ce qui suit :

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;