WITH RECURSIVE niveis(id_categoria_item, id_categoria_item_pai) AS (
	SELECT	id_categoria_item,
		id_categoria_item_pai,
		1 AS nivel
	FROM	categoria_item
	WHERE	id_categoria_item IN (:IdCategoriaItemMultSlc)
	UNION ALL
	SELECT	ci.id_categoria_item,
		ci.id_categoria_item_pai,
		nv.nivel +1
	FROM	categoria_item AS ci
		INNER JOIN niveis AS nv ON (nv.id_categoria_item = ci.id_categoria_item_pai))
		
SELECT	'Todos Ativos em item x empresa' AS local_estoque,
	ci.denominacao AS denominacao_categoria,
	i.codigo AS codigo_item,
	i.denominacao AS denominacao_item,
	i.denominacao_reduzida AS denominacao_reduzida,
	ie.localizacao,
	u.sigla,
	ie.preco AS preco_venda,
	0 AS saldo_quantidade
FROM	item AS i
	INNER JOIN unidade_medida AS u ON (u.id_unidade_medida = i.id_unidade_medida)
	INNER JOIN categoria_item AS ci ON (ci.id_categoria_item = i.id_categoria_item)
	INNER JOIN item_empresa AS ie ON (ie.id_item = i.id_item)
WHERE	ie.id_empresa = :__ID_EMPRESA
AND	ci.id_categoria_item IN (SELECT id_categoria_item FROM niveis)
AND	ie.registro_ativo = 'S'