Почему там написано, что столбец двусмысленно определен?
select a.id_progdi, a.nama_progdi, avg(b.ipk)
from tb_ipk b
join tb_mahasiswa c on b.nim = c.nim
join tb_progdi a on c.id_progdi = a.id_progdi
group by id_progdi
3 ответа
Решение
В вашей группе по, вы должны добавить псевдоним таблицы, потому что у вас есть одно и то же имя столбца в нескольких таблицах, и движок БД должен знать, на какую ссылку вы хотите сослаться.
select a.id_progdi, a.nama_progdi, avg(b.ipk)
from tb_ipk b
join tb_mahasiswa c on b.nim = c.nim
join tb_progdi a on c.id_progdi = a.id_progdi
group by a.id_progdi, a.nama_progdi
У вас есть несколько id_progdi
так что, вероятно, он не знает, на какой ссылаться в group by
, Измените это на group by a.id_progdi
Возможно, у вас есть id_progdi в нескольких таблицах, используйте псевдоним таблицы в вашей группе по.