Column ' ' in field list is ambiguous - MySQL
Формулировка задачи:
помогите пожалуйста.
столкнулся с проблемой следующего характреа:
таблицы выглядят так.
сотрудники:id_сотрудника и др.
список должностей: id_должности и др.
назначение на должность:id_сотрудника id_должности..дата назаначения...
надо зделать запрос:вывод сведений о сотрудниках. стаж работы которых не менее...лет
вот код запроса:
SELECT familia, imya,otchestvo,spisok_dolgnostei.nazvanie from sotrudniki inner join (spisok_dolgnostei
inner join naznachenie_na_dolgnost on spisok_dolgnostei.id_dolgnosti=naznachenie_na_dolgnost.id_dolgnosti)
on sotrudniki.id_sotrudnika=naznachenie_na_dolgnost.id_sotrudnika
where (year(now())-year(data_naznachenia))>='0'
но выдает ошибку Column 'id_sotrudnika' in field list is ambiguous.
помогите в чем проблема.
Решение задачи: «Column ' ' in field list is ambiguous»
textual
Листинг программы
SELECT s.familia, s.imya, s.otchestvo, sd.nazvanie FROM naznachenie_na_dolgnost n JOIN spisok_dolgnostei sd ON sd.id_dolgnosti=n.id_dolgnosti JOIN sotrudniki s ON s.id_sotrudnika=n.id_sotrudnika WHERE (YEAR(now())-YEAR(n.data_naznachenia))>=0
Объяснение кода листинга программы
- В данном коде происходит выборка данных из нескольких таблиц базы данных.
- Таблицы, которые участвуют в запросе:
naznachenie_na_dolgnost
,spisok_dolgnostei
,sotrudniki
. - Переменные, которые используются в запросе:
- n (название таблицы
naznachenie_na_dolgnost
) - sd (название таблицы
spisok_dolgnostei
) - s (название таблицы
sotrudniki
)
- n (название таблицы
- Код выполняет объединение (JOIN) указанных таблиц по соответствующим столбцам.
- Условие WHERE фильтрует данные по году (YEAR(now())) и дате назначения (YEAR(n.data_naznachenia)).
- Выполняется выборка следующих полей:
- s.familia (фамилия сотрудника)
- s.imya (имя сотрудника)
- s.otchestvo (отчество сотрудника)
- sd.nazvanie (название должности)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д