Я не понимаю, в чем здесь ошибка, почему она не работает (Oracle DB)
https://www.hackerrank.com/challenges/binary-search-tree-1/problem?isFullScreen=true
Это вопрос hackerrank
SELECT N,
(case
when P IS NULL then 'Root'
else
when (SELECT COUNT(*) FROM BST WHERE P=B.N) > 0 then 'Inner'
else 'Leaf'
end
end ))
FROM BST AS B ORDER BY N;
Сначала я подумал, что внешний запрос используется во внутреннем запросе, поэтому он не будет работать. Но если он работает для MySQL, то он должен работать и для Oracle.
Этот код ниже для MySQL, и он работал
SELECT N, IF(P IS NULL,'Root',IF((SELECT COUNT(*)
FROM BST WHERE P=B.N)>0,'Inner','Leaf'))
FROM BST AS B ORDER BY N;