I made a filter in a proc and I can not bring results. When running the proc it did not give any errors, but it does not bring any result and I do not know if it is correct. The colleague said that I do not need to pass any parameters, I do not know if this is it, but the proc is great to put here, but anyway I posted her code. The field changed by muim is this: AND YEAR(EXAME.ID_EXM_REA) BETWEEN @DT_DE_LAUDO AND @DT_ATE_LAUDO
. I removed the creation of some temporary tables and some inserts. The desired line is at the end of the proc and what I'm looking for is whether or not the syntax is correct. I removed it because it exceeded the character limit. I left only the header and the return part of the procedure, which is what matters. I also removed it for the reason above.
ALTER proc [dbo].[SP_CMO_SEL_PORTARIA_ATIVOS]
@ID_XFC_Inicial int,
@ID_XFC_Final int,
@ID_EMP int,
@ID_UNI_EMP int,
@ID_XFC_GRP VarChar( 1000 )= '',
@DT_ADM DATETIME,
@DT_DE_LAUDO DATETIME,
@DT_ATE_LAUDO DATETIME
as
SET NOCOUNT ON
Begin
.....
/***********************************************************************************************************/
/*************************--ÁREA DE CONSULTA PARA RETORNAR OS DADOS--***************************************/
/***********************************************************************************************************/
-- Retorna os dados da tabela
--caso tenha sido definido a lista de funcionarios
--para exibir, não fazer o filtro por data de admissão
IF @ID_XFC_GRP <> '' OR @ID_XFC_Inicial <> 0
BEGIN
SELECT #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_UNI_EMP,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.RAM_ATV,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DT_LAU_PER,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DT_NASC_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_MAE_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.IR_SEX_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SUS_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_RG_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_CPF_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DS_END,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_CID_END,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.SG_UF_END,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_FUN_ULT,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_SET_ULT,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_ADM_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_DMS_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_PER_FUN_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_EMP,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_UNI_EMP,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_SET_UNI,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.NM_SET_UNI,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.NM_FUN,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DT_INI_PER_FUN_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DT_FNL_PER_FUN_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DS_MAT_CTO,
isNull( OIT1980LEITURA.DT_RX, EXAME_RAIOX.DT_EXM_REA ) DT_RX,
OIT1980LEITURA.RX_NUM,
EXAME_RAIOX.DS_OBS_EXM_REA AS DS_RAIOX,
ESPIROMETRIA.CVF_PRE,
ESPIROMETRIA.CVF_MED,
Replace(Cast(ESPIROMETRIA.CVF_POR as varchar(7)), '.', ',') as CVF_POR,
ESPIROMETRIA.CVF_LMT,
ESPIROMETRIA.VEF_PRE,
ESPIROMETRIA.VEF_MED,
Replace(Cast(ESPIROMETRIA.VEF_POR as varchar(7)), '.', ',') as VEF_POR,
ESPIROMETRIA.VEF_LMT,
ESPIROMETRIA.VEF_CVF_PRE,
ESPIROMETRIA.VEF_CVF_MED,
ESPIROMETRIA.VEF_CVF_POR,
ESPIROMETRIA.VEF_CVF_LMT,
ESPIROMETRIA.FEF_PRE,
ESPIROMETRIA.FEF_MED,
Replace(Cast(ESPIROMETRIA.FEF_POR as varchar(7)),'.', ',') as FEF_POR,
ESPIROMETRIA.FEF_LMT,
EXAME.DS_OBS_EXM_REA AS DS_ESPIROMETRIA,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DS_DTLH_CLSS,
CIDADE_UNIDADE.NM_CID_END AS CIDADE
, EXAME.DT_EXM_REA DT_EXA_EXP
, NM_EMP,
( Select NO_TEL_UNI_EMP From t_cmo_unidade
Where ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Telefone,
( Select DS_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Endereco,
( Select NM_BRR_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Bairro,
( Select CD_CEP From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) CEP,
( Select NM_CID_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Cidade,
( Select SG_UF_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) UF
FROM #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO
LEFT OUTER JOIN #T_SP_CMO_SEL_REL_FICHA_ADMISSAO
ON #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC = #T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_XFC
LEFT OUTER JOIN #T_SP_CMO_SEL_REL_FICHA_FUNCAO
ON #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC = #T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_XFC
LEFT OUTER JOIN T_CMO_OIT1980_LEITURA OIT1980LEITURA
ON OIT1980LEITURA.ID_OIT_LET = 1
AND OIT1980LEITURA.ID_OIT = (SELECT ID_OIT FROM T_CMO_OIT1980
WHERE ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND ID_EXM = 3936
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0)--NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
)
LEFT OUTER JOIN T_CMO_EXAME_REALIZADO AS EXAME_RAIOX
ON EXAME_RAIOX.NO_SEQ_AVA_LAU_PER = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER
AND EXAME_RAIOX.ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND EXAME_RAIOX.ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND ID_EXM = 3936
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0)--NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
LEFT OUTER JOIN T_CMO_ESPIROMETRIA ESPIROMETRIA
ON ESPIROMETRIA.ID_EXP = (SELECT ID_EXP FROM T_CMO_ESPIROMETRIA
WHERE ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND (ID_EXM = 1514 OR ID_EXM = 3136)
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0) --NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
)
--PARA PEGAR A OBS DA ESPIROMETRIA
LEFT OUTER JOIN T_CMO_EXAME_REALIZADO AS EXAME
ON EXAME.NO_SEQ_AVA_LAU_PER = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER
AND EXAME.ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND EXAME.ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND (ID_EXM = 1514 OR ID_EXM = 3136)
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0) --NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
left outer join T_CMO_ENDERECO AS CIDADE_UNIDADE
ON CIDADE_UNIDADE.id_emp = @ID_EMP
and CIDADE_UNIDADE.id_uni_emp = @ID_UNI_EMP
and CIDADE_UNIDADE.IR_TIP_END = 'U'
WHERE #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP = @ID_EMP
AND #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP = @ID_UNI_EMP
AND #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC IN (SELECT ID_XFC FROM #FUNCIONARIOS_ATIVOS)
AND YEAR(EXAME.ID_EXM_REA) BETWEEN @DT_DE_LAUDO AND @DT_ATE_LAUDO
ORDER BY #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_ADM_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DT_INI_PER_FUN_XFC
END
ELSE
BEGIN
SELECT #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_UNI_EMP,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.RAM_ATV,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DT_LAU_PER,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DT_NASC_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_MAE_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.IR_SEX_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SUS_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_RG_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_CPF_XFC,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DS_END,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_CID_END,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.SG_UF_END,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_FUN_ULT,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NM_SET_ULT,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_ADM_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_DMS_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_PER_FUN_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_EMP,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_UNI_EMP,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_SET_UNI,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.NM_SET_UNI,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.NM_FUN,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DT_INI_PER_FUN_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DT_FNL_PER_FUN_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DS_MAT_CTO,
OIT1980LEITURA.DT_RX,
OIT1980LEITURA.RX_NUM,
EXAME_RAIOX.DS_OBS_EXM_REA AS DS_RAIOX,
ESPIROMETRIA.CVF_PRE,
ESPIROMETRIA.CVF_MED,
Replace(Cast(ESPIROMETRIA.CVF_POR as varchar(7)), '.', ',') as CVF_POR,
ESPIROMETRIA.CVF_LMT,
ESPIROMETRIA.VEF_PRE,
ESPIROMETRIA.VEF_MED,
Replace(Cast(ESPIROMETRIA.VEF_POR as varchar(7)), '.', ',') as VEF_POR,
ESPIROMETRIA.VEF_LMT,
ESPIROMETRIA.VEF_CVF_PRE,
ESPIROMETRIA.VEF_CVF_MED,
ESPIROMETRIA.VEF_CVF_POR,
ESPIROMETRIA.VEF_CVF_LMT,
ESPIROMETRIA.FEF_PRE,
ESPIROMETRIA.FEF_MED,
Replace(Cast(ESPIROMETRIA.FEF_POR as varchar(7)),'.', ',') as FEF_POR,
ESPIROMETRIA.FEF_LMT,
EXAME.DS_OBS_EXM_REA AS DS_ESPIROMETRIA,
#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.DS_DTLH_CLSS,
CIDADE_UNIDADE.NM_CID_END AS CIDADE
, EXAME.DT_EXM_REA DT_EXA_EXP
, NM_EMP,
( Select NO_TEL_UNI_EMP From t_cmo_unidade
Where ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Telefone,
( Select DS_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Endereco,
( Select NM_BRR_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Bairro,
( Select CD_CEP From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) CEP,
( Select NM_CID_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) Cidade,
( Select SG_UF_END From t_cmo_endereco
Where IR_TIP_END = 'U' and ID_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP and ID_UNI_EMP = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP ) UF
FROM #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO
LEFT OUTER JOIN #T_SP_CMO_SEL_REL_FICHA_ADMISSAO
ON #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC = #T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_XFC
LEFT OUTER JOIN #T_SP_CMO_SEL_REL_FICHA_FUNCAO
ON #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC = #T_SP_CMO_SEL_REL_FICHA_FUNCAO.ID_XFC
LEFT OUTER JOIN T_CMO_OIT1980_LEITURA OIT1980LEITURA
ON OIT1980LEITURA.ID_OIT_LET = 1
AND OIT1980LEITURA.ID_OIT = (SELECT ID_OIT FROM T_CMO_OIT1980
WHERE ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND ID_EXM = 3936
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0)--NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
)
LEFT OUTER JOIN T_CMO_EXAME_REALIZADO AS EXAME_RAIOX
ON EXAME_RAIOX.NO_SEQ_AVA_LAU_PER = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER
AND EXAME_RAIOX.ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND EXAME_RAIOX.ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND ID_EXM = 3936
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0)--NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
LEFT OUTER JOIN T_CMO_ESPIROMETRIA ESPIROMETRIA
ON ESPIROMETRIA.ID_EXP = (SELECT ID_EXP FROM T_CMO_ESPIROMETRIA
WHERE ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND (ID_EXM = 1514 OR ID_EXM = 3136)
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0) --NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
)
--PARA PEGAR A OBS DA ESPIROMETRIA
LEFT OUTER JOIN T_CMO_EXAME_REALIZADO AS EXAME
ON EXAME.NO_SEQ_AVA_LAU_PER = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER
AND EXAME.ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND EXAME.ID_EXM_REA = (SELECT MAX(ID_EXM_REA) FROM T_CMO_EXAME_REALIZADO
WHERE ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
AND (ID_EXM = 1514 OR ID_EXM = 3136)
AND NO_SEQ_AVA_LAU_PER = ISNULL(#T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.NO_SEQ_AVA_LAU_PER, 0) --NO_SEQ_AVA_LAU_PER, para filtro por avaliação
)
left outer join T_CMO_ENDERECO AS CIDADE_UNIDADE
ON CIDADE_UNIDADE.id_emp = @ID_EMP
and CIDADE_UNIDADE.id_uni_emp = @ID_UNI_EMP
and CIDADE_UNIDADE.IR_TIP_END = 'U'
WHERE #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_EMP = @ID_EMP
AND #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_UNI_EMP = @ID_UNI_EMP
AND #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC IN (SELECT ID_XFC FROM #FUNCIONARIOS_ATIVOS)
AND EXISTS(SELECT ID_XFC FROM #T_SP_CMO_SEL_REL_FICHA_ADMISSAO
WHERE #T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_ADM_PER_CPC_XFC < @DT_ADM
AND #T_SP_CMO_SEL_REL_FICHA_ADMISSAO.ID_XFC = #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC
)
AND YEAR(EXAME.ID_EXM_REA) BETWEEN @DT_DE_LAUDO AND @DT_ATE_LAUDO
ORDER BY #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO.ID_XFC,
#T_SP_CMO_SEL_REL_FICHA_ADMISSAO.DT_ADM_PER_CPC_XFC,
#T_SP_CMO_SEL_REL_FICHA_FUNCAO.DT_INI_PER_FUN_XFC
END
-- Dropa a tabela depois de trazer os dados
DROP TABLE #T_SP_CMO_SEL_PORTARIA_FUNCIONARIO
DROP TABLE #T_SP_CMO_SEL_REL_FICHA_ADMISSAO
DROP TABLE #T_SP_CMO_SEL_REL_FICHA_FUNCAO
DROP TABLE #MATRICULA
DROP TABLE #FUNCIONARIOS_ATIVOS
end