Поиск сотрудников с несовершеннолетними детьми - MySQL

Узнай цену своей работы

Формулировка задачи:

Целиком задача звучит так: Необходимо составить "Ведомость на получение зарплаты" (оклад-13%). Если есть несовершеннолетние дети, одна минимальная зарплата налогом не облагается.
Загвоздка в том, что не получается сделать проверку на совершеннолетие старшего ребенка.
case when ( year(now()) - year(select Дети.birth from Дети,Сотрудники where Сотрудники.pers_number = Дети.pers_number_parr order by Дети.birth limit 1)<=18) then
Вот, код программы целиком:
select pers_number,fio,
case when ( year(now()) - year(select Дети.birth from Дети,Сотрудники where Сотрудники.pers_number = Дети.pers_number_parr order by Дети.birth limit 1)<=18) then 
0.87*(select salary from Должности where Должности.name_pos=Сотрудники.position)-0.13*5965 else 
(
    (select salary from Должности where Должности.name_pos=Сотрудники.position)*0.87
)
end as salary
from Сотрудники;
 
select pers_number,fio,
where year(now()) - year(select Дети.birth from Дети,Сотрудники where Сотрудники.pers_number = Дети.pers_number_parr order by Дети.birth limit 1)<=18;
Пожалуйста, помогите мне найти ошибку.

Решение задачи: «Поиск сотрудников с несовершеннолетними детьми»

textual
Листинг программы
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where year(now()) - year(select Дети.birth from Дети,Сотрудник' at line 2

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.571 из 5