Viva comunidade!
Estou com uma dúvida aquando da criação de um comando sql recursivo.
O erro apresentado é:
Msg 240, Level 16, State 1, Procedure verificarAusencia6Meses, Line 6
Types don't match between the anchor and the recursive part in column "n_dias_falta" of recursive query "EmpregadosAusentes".
O comando sql:
CREATE FUNCTION verificarAusencia6Meses(
@numero_empregado INT)
RETURNS TABLE
AS
RETURN(
WITH EmpregadosAusentes (num, dat, dat_fal, n_dias_falta) /* erro aqui pois a coluna n_dias da tabela falta é decimal,2 */
AS
(
SELECT numero, data, data_falta, n_dias
FROM falta
WHERE data_falta=(select MIN(data_falta) from falta where numero=@numero_empregado)
UNION ALL
SELECT f.numero, f.data, f.data_falta, r.n_dias_falta + f.n_dias
FROM falta f
INNER JOIN EmpregadosAusentes r
ON f.data_falta + f.n_dias =r.dat_fal
)
SELECT
num as numero_funcionario, n_dias_falta
FROM EmpregadosAusentes
)
Visto que n_dias apesar de ser decimal,2 e.g. 9.00 tem sempre valor nulo nas casas decimais tentei CONVERT(int, n_dias) durante o SELECT mas sem sucesso.
Cumps