Problema com uma CASE

Delphi

27/09/2005

Olá galera tudo bem com vocês?
eu estou com o seguinte código:
select DATEPART(DD,DATAEMISSAO) DIA, A.DOCINI, 
CASE
  WHEN A.STATUSLF = ´C´ THEN ´CANCELADO´
  WHEN A.STATUSLF <> ´C´ THEN ´´
END AS STATUSLF, 
B.BASETRB, B.ALIQTRB, B.VALORTRB, B.VLRISENTO, A.CODCOLIGADA CODCOLIGADA$
from DLAF A, DTRBLAF B
WHERE A.IDLAF = B.IDLAF AND B.CODTRB = ´ISS´
AND A.CODCOLIGADA = :CODCOLIGADA
AND A.CODFILIAL = :CODFILIAL
AND B.CODCOLIGADA = :CODCOLIGADA
AND A.TIPOLF = ´S´
AND A.DATAEMISSAO >= :DATAINICIAL
AND A.DATAEMISSAO <= :DATAFINAL
ORDER BY DIA ASC

O meu problema está aí. Quando o A.STATUSLF = ´C´ ou seja CANCELADO eu gostaria q não mostrasse nada no relatório somente a palavra CANCELADO e do jeito q está ele continua mostrando os dados do relatório.
Eu estou usando o SQL 2000 e o Delphi 7.

Desde de já eu agradeço


Prof. Baco

Prof. Baco

Curtidas 0

Respostas

Rjun

Rjun

27/09/2005

Você esta usando QuickReport? Acho que você teria que fazer esse controle no código e não no SQL.


GOSTEI 0
Prof. Baco

Prof. Baco

27/09/2005

Pois é doutor mas eu vou precisar desta consulta em SQL mesmo.

Se tiver como


GOSTEI 0
Prof. Baco

Prof. Baco

27/09/2005

Será que alguém pode me ajudar neste caso??

Por favor


GOSTEI 0
Prof. Baco

Prof. Baco

27/09/2005

[b:adf233daff]Problema Resolvido[/b:adf233daff]
Estou reportando este problema caso alguém tenha o mesmo que eu e que não tenha conseguido resolver via SQL.
select DATEPART(DD,DATAEMISSAO) DIA, A.DOCINI,
BASETRB = CASE WHEN A.STATUSLF <> ´C´ THEN B.BASETRB END,
ALIQTRB = CASE WHEN A.STATUSLF <> ´C´ THEN B.ALIQTRB END,
VALORTRB = CASE WHEN A.STATUSLF <> ´C´ THEN B.VALORTRB END,
VLRISENTO = CASE WHEN A.STATUSLF <> ´C´ THEN B.VLRISENTO END,
case WHEN A.STATUSLF = ´C´ THEN ´CANCELADO´ else ´´ end as STATUSLF,
A.CODCOLIGADA CODCOLIGADA$
from DLAF A, DTRBLAF B
WHERE A.IDLAF = B.IDLAF AND B.CODTRB = ´ISS´
AND A.CODCOLIGADA = :CODCOLIGADA
AND A.CODFILIAL = :CODFILIAL
AND B.CODCOLIGADA = :CODCOLIGADA
AND A.TIPOLF = ´S´
AND A.DATAEMISSAO >= :DATAINICIAL
AND A.DATAEMISSAO <= :DATAFINAL
ORDER BY DIA ASC

Espero ter ajudado.

As pessoas que tentaram me ajudar muito obrigado e está aí a solução do problema.


GOSTEI 0
POSTAR