Prezados bom dia !
a Sql Abaixo me esta funcinando normalmente porem quando coloco no parametro a mes de fevereiro ele me apresenta erro.
SQL
SELECT I.PATRIMONIO,
I.DESCRICAO,
F.NOME,
I.NUMERODOCUMENTO,
I.DTAQUISICAO,
I.VRAQUISICAO,
(case when I.DTAQUISICAO < '2010-12-31' then I.VRAQUISICAO
when I.DTAQUISICAO > '2011-01-01' then I2.DEPRECINDICE
else 0
end) as RONNIE,
isnull((select DISTINCT b.DEPRECINDICE
from IRAZAO as b
where b.CODBEM = i.CODBEM
and (((datepart(year, b.data)*1000)+datepart(month, b.data)) =
((datepart(year, DATEADD(month, -1, I2.data))*1000)+datepart(month, DATEADD(month, -1, I2.data))))), 0) anterior,
I2.DEPRECINDICE,
I2.DEPMESINDICE,
I.CODCCUSTOATUAL,
I.CODCONTAS AS CONTAS$,
G.DESCRICAO,
datepart(month,I2.DATA),
datepart(YEAR,I2.DATA)
FROM IBEM AS I
LEFT JOIN FCFO AS F ON F.CODCOLIGADA = I.CODCOLIGADA AND F.CODCFO = I.CODFORNEC
LEFT JOIN IRAZAO AS I2 ON I2.CODCOLIGADA = I.CODCOLIGADA AND I2.CODBEM = I.CODBEM
LEFT JOIN IGRPCONT AS G ON G.CODCOLIGADA = I.CODCOLIGADA AND G.CODGRUPO = I.CODCONTAS
WHERE I.DTAQUISICAO >= '1996-01-01' AND I.DTAQUISICAO <= '2010-12-31'
AND datepart(month,DATA) = '02'
AND I.PATRIMONIO = '00118'
ORDER BY CONTAS$,I.DTAQUISICAO
Erro
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Prezados eu achei aonde esta o erro, porem nao sei por que somente ocorre para mes de FEVEREIRO.
VEJAM
/* isnull((select DISTINCT b.DEPRECINDICE
from IRAZAO as b
where b.CODBEM = i.CODBEM
and (((datepart(year, b.data)*1000)+datepart(month, b.data)) =
((datepart(year, DATEADD(month, -1, I2.data))*1000)+datepart(month, DATEADD(month, -1, I2.data))))), 0) anterior,*/
Obrigado a todos pela ajuda.