Целиком задача звучит так:
Необходимо составить "Ведомость на получение зарплаты" (оклад-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 Сотрудники;
MySql ругается на синтаксис:
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
Пожалуйста, помогите мне найти причину ошибки.