Gibt es NULLen in taxon_name_element.parent_id
?
Die Abfrage...
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
)
...entspricht...
select taxon_id
from taxon_name_element
where
taxon_id <> parent_id_1
AND taxon_id <> parent_id_2
...
AND taxon_id <> parent_id_N
...wobei parent_id_X
sind tatsächliche Werte, die sich derzeit in der parent_id
befinden Säule. Wenn auch nur einer von ihnen NULL ist, die entsprechende taxon_id <> parent_id_X
Ausdrücke werden zu NULL "kollabieren" und den gesamten WHERE-Ausdruck mitziehen.
Filtern Sie NULL-Werte heraus, um das zu bekommen, was Sie wollen:
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
where parent_id is not null
)