Bom dia a todos, nessa SQL, estou tentando filtrar uma informação que esta no Case, vejam ate aonde eu consegui chegar
Sentença
SELECT
*
FROM
(
SELECT T.NUMEROMOV AS [SMS],
T.USUARIOCRIACAO AS [USUARIO],
G.NOME AS [OBRA$],
CASE
WHEN T.STATUS = 'A' THEN 'Pendente'
WHEN T.STATUS = 'F' THEN 'Recebido'
ELSE 'Falta Aprovar' END 'Status Pedido',
CASE
WHEN T.STSCOMPRAS = 'C' THEN 'Em Cotacao'
WHEN T.STSCOMPRAS = 'P' THEN 'Parc. Cotado'
WHEN T.STSCOMPRAS = 'T' THEN 'Cotado'
ELSE 'Falta Cotar' END 'Status Compra' ,
CONVERT(VARCHAR, T.HORARIOEMISSAO ,103) + ' as ' +
CONVERT(VARCHAR, T.HORARIOEMISSAO ,108) AS [DT PEDIDO],
CONVERT(VARCHAR, T.DATAENTREGA ,103) AS [DT ENTREGA],
T.PRAZOENTREGA,
TA.CODUSUARIO AS [APROVADO POR],
CONVERT(VARCHAR, TA.HORARIOAPROVACAO ,103) + ' as ' +
CONVERT(VARCHAR, TA.HORARIOAPROVACAO ,108) AS [DIA APROVACAO],
DATEDIFF(DAY, T.HORARIOEMISSAO , TA.HORARIOAPROVACAO )AS [DIF DE DIAS],
(SELECT CASE
WHEN DATEDIFF(DD,T.DATAENTREGA,T4.DATAEMISSAO) IS NULL THEN '*'
WHEN DATEDIFF(DD,T.DATAENTREGA,T4.DATAEMISSAO) > 0
THEN CAST(DATEDIFF(DD,T.DATAENTREGA,T4.DATAEMISSAO) AS VARCHAR(4)) + ' Fora Prazo'
ELSE CAST(DATEDIFF(DD,T.DATAENTREGA,T4.DATAEMISSAO) AS VARCHAR(4)) + ' No Prazo'
END) AS [ATRASO DIAS NF],
CASE WHEN T1.ULTIMAATUALIZACAO IS NULL THEN 'P'
ELSE CONVERT(VARCHAR, T1.ULTIMAATUALIZACAO ,103) + ' as ' +
CONVERT(VARCHAR, T1.ULTIMAATUALIZACAO ,108)
END AS [DT COTAÇÃO],
CASE
WHEN T1.STSCOTACAO = '2' THEN 'Aguard. Resposta Fornecedor'
WHEN T1.STSCOTACAO = '1' THEN 'Em Composição'
WHEN T1.STSCOTACAO = '5' THEN 'Em Negociação'
WHEN T1.STSCOTACAO = '6' THEN 'Pedido de Compra Gerado'
ELSE 'Pendente de Cotaçao' END 'Motivo Atraso Cotaçao' ,
CASE WHEN T2.NUMEROMOV IS NULL THEN '*' ELSE T2.NUMEROMOV END AS [NAO_APROV],
CASE WHEN T3.NUMEROMOV IS NULL THEN '*' ELSE T3.NUMEROMOV END AS [APROV.],
CASE WHEN T4.NUMEROMOV IS NULL THEN '*' ELSE T4.NUMEROMOV END AS [NF],
CASE WHEN T4.CODTMV IS NULL THEN '*' ELSE T4.CODTMV END AS [MOV_REC],
CASE WHEN T4.DATAEMISSAO IS NULL THEN '*'
ELSE CONVERT(VARCHAR, T4.DATAEMISSAO ,103)
END AS [EMISSAO NF]
FROM TMOV AS T
INNER JOIN TMOVAPROVA AS TA ON TA.CODCOLIGADA = T.CODCOLIGADA AND TA.IDMOV = T.IDMOV
LEFT JOIN TCCOTACAOITMMOV AS TC ON TC.CODCOLIGADA = T.CODCOLIGADA AND TC.IDMOV = T.IDMOV AND TC.NSEQITMMOV = 1
LEFT JOIN TCCOTACAO AS T1 ON T1.CODCOTACAO = TC.CODCOTACAO AND T1.CODCOLIGADA = TC.CODCOLIGADA
INNER JOIN GCCUSTO AS G ON G.CODCOLIGADA = T.CODCOLIGADA AND G.CODCCUSTO = T.CODCCUSTO
LEFT JOIN TMOVRELAC AS TM ON TM.CODCOLORIGEM = T.CODCOLIGADA AND TM.IDMOVORIGEM = T.IDMOV
LEFT JOIN TMOV AS T2 ON T2.CODCOLIGADA = TM.CODCOLORIGEM AND T2.IDMOV = TM.IDMOVDESTINO
LEFT JOIN TMOVRELAC AS TM1 ON TM1.CODCOLORIGEM = T2.CODCOLIGADA AND TM1.IDMOVORIGEM = T2.IDMOV
LEFT JOIN TMOV AS T3 ON T3.CODCOLIGADA = TM1.CODCOLORIGEM AND T3.IDMOV = TM1.IDMOVDESTINO
LEFT JOIN TMOVRELAC AS TM2 ON TM2.CODCOLORIGEM = T3.CODCOLIGADA AND TM2.IDMOVORIGEM = T3.IDMOV
LEFT JOIN TMOV AS T4 ON T4.CODCOLIGADA = TM2.CODCOLORIGEM AND T4.IDMOV = TM2.IDMOVDESTINO
WHERE T.CODTMV = '1.1.01' AND MONTH(T.DATAEMISSAO) = '12' AND
YEAR (T.DATAEMISSAO) = '2009'
) AS x
WHERE
x.[ATRASO DIAS NF]= 'No Prazo'
ORDER BY
X.[OBRA$]
o que esta em negrito foi usando um exemplo que o Amigo Leonardo me ajudaou numa sentença muito parecida com essa, porem nesse aqui nao estou conseguindo fazer.
o Que esta Sublinhando e o tratamento que preciso
tipo que saia somente o que esta fora do prazo, na verdade vou ter que fazer duas sentenças 1 que seja o que esta Fora do Prazo, e outra que esteja no prazo e que as compras estao pendentes..
obrigado a todos