Mysql не позволяет удалить форму из той же таблицы, которая использовалась для выбора строк для удаления, чтобы избежать этого, вы должны создать набор строк, не связанных с исходной таблицей
Вы можете использовать внутреннее соединение в подзапросе, а не в предложении
этого должно быть достаточно
DELETE
FROM OBSERVATION
INNER JOIN (
SELECT OBSERVATION.ID
from OBSERVATION
inner join SPECIMEN on SPECIMEN.ID=OBSERVATION.SPECIMEN_ID
WHERE SPECIMEN.GENDER="male"
and OBSERVATION.VALUE_TERM is not null
and OBSERVATION.PARAMETER_STABLE_ID="IMPC_PAT_028_002"
) t OBSERVATION.ID = t.ID
в противном случае вам нужно применить этот способ
DELETE
FROM OBSERVATION
INNER JOIN (
select id from(
SELECT OBSERVATION.ID
from OBSERVATION
inner join SPECIMEN on SPECIMEN.ID=OBSERVATION.SPECIMEN_ID
WHERE SPECIMEN.GENDER="male"
and OBSERVATION.VALUE_TERM is not null
and OBSERVATION.PARAMETER_STABLE_ID="IMPC_PAT_028_002"
) t1
) t OBSERVATION.ID = t.ID