Почему там написано, что столбец двусмысленно определен?

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 в нескольких таблицах, используйте псевдоним таблицы в вашей группе по.

Другие вопросы по тегам