Zijn er NULL's in taxon_name_element.parent_id
?
De vraag...
select taxon_id
from taxon_name_element
where taxon_id not in (
select parent_id
from taxon_name_element
)
...is gelijk aan...
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
...waar parent_id_X
zijn werkelijke waarden die zich momenteel in de parent_id
. bevinden kolom. Als zelfs één van hen NULL is, is de corresponderende taxon_id <> parent_id_X
expressies "samenvouwen" in NULL, waarbij de hele WHERE-expressie mee wordt gesleept.
Filter NULL's uit om te krijgen wat je wilt:
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
)