Столбец неоднозначно определил ошибку оракула sql

У меня проблема в следующем коде sql. У меня есть такая таблица: Student (st_id, st_fname, st_lname) и посещения (visit_id, St_id,visit_cost).

То, что я хочу сделать, это выбрать среднее значение посещения для каждого студента, где оно превышает 500, затем st_fname и st_lname. И я написал следующий код:

select avg (v.visit_cost) as average_cost, s.st_fname, s.st_lname   
from      student s
inner join visitings v  on s.st_id=v.st_id
group by st_id
having avg(v.visit_cost)>=500;

В выводе это показывает "столбец неоднозначно определенный" ошибка. Если возможно, не могли бы вы помочь мне с этим, пожалуйста?

1 ответ

Решение

Поскольку вы не ответили на вопросы в комментариях, я предполагаю, что amount_paid колонка исходит от visitings стол как student таблица выглядит как таблица измерений.

column ambiguity ошибка связана с st_id столбец, который есть в обеих таблицах. Так что SQL не знает, какая таблица st_id Вы имеете в виду Попробуй это.

select avg (v.visit_cost) as average_cost, s.st_fname, s.st_lname   
from      student s
inner join visitings v on s.st_id=v.st_id
group by s.st_id
having avg(v.amount_paid)>=500;

Смотрите демоверсию SQLFiddle здесь

http://sqlfiddle.com/

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