WITH RecursiveCategories (parent_dir_id,dir_id ,dir_name , Level)
AS
(
SELECT parent_dir_id, dir_id, dir_name, 0 AS Level
FROM edms_directory
WHERE dir_id = 0
UNION ALL
SELECT edms_directory.parent_dir_id, edms_directory.dir_id, edms_directory.dir_name,
Level + 1
FROM edms_directory
INNER JOIN RecursiveCategories AS d
ON edms_directory.parent_dir_id = d.dir_id
)
select count(dir_id) from edms_document where dir_id in (
Select dir_id From RecursiveCategories
) and is_deleted <> 'Y' and is_link <> 'Y'
AS
(
SELECT parent_dir_id, dir_id, dir_name, 0 AS Level
FROM edms_directory
WHERE dir_id = 0
UNION ALL
SELECT edms_directory.parent_dir_id, edms_directory.dir_id, edms_directory.dir_name,
Level + 1
FROM edms_directory
INNER JOIN RecursiveCategories AS d
ON edms_directory.parent_dir_id = d.dir_id
)
select count(dir_id) from edms_document where dir_id in (
Select dir_id From RecursiveCategories
) and is_deleted <> 'Y' and is_link <> 'Y'