é possivo usar case when desse modo
É Possivel usar case when , no fonte.
na query funciona, mas se jogar aspas, no fonte da erro..
Tem algum modo de fazer isso, sem colocar o sql na query
SQL.Add(´select CODIGO,NOME,TESTE,´ + ´case TESTE ´ + ´when 1 then ´teste´ ´ + ´when 2 then ´teste2´ ´ + ´end as NOMETESTE ´ + ´from TESTE ´);
na query funciona, mas se jogar aspas, no fonte da erro..
Tem algum modo de fazer isso, sem colocar o sql na query
Lynx
Curtidas 0
Respostas
Fknyght
18/08/2005
SQL.Add(´select CODIGO,NOME,TESTE,´ + ´case TESTE ´ + ´when 1 then ´ + #39 + ´teste´ + 39 + ´when 2 then ´ + 39 + ´teste2´ + 39 + ´end as NOMETESTE ´ + ´from TESTE ´);
Faz assim
GOSTEI 0
Lynx
18/08/2005
funcionou legal
Obrigado
Obrigado
GOSTEI 0
Lynx
18/08/2005
Com inteiro vai legal, mas no caso com string ´A´ , ´B´ etc...
Como ficaria ?
porque com string precisa ser assim.
case NOME
when ´A´ then ´Baixado´
etc...
Tem como ?
Obrigado
Como ficaria ?
porque com string precisa ser assim.
case NOME
when ´A´ then ´Baixado´
etc...
Tem como ?
Obrigado
GOSTEI 0
Lynx
18/08/2005
resolvido,
Fica assim
Fica assim
´CASE PEDIDOS.SITUACAO ´ + ´when ´#39´A´39´ then ´ + 39 + ´Aberto´ + 39 + ´when ´39´C´39´ then ´ + 39 + ´Cancelado´ + 39 + ´end as NOMESITUACAO ´ +
GOSTEI 0
Lynx
18/08/2005
Com ´´A´´ já funciona, mas para ficar mais legivel vou colar o código.
Funcionou Legal assim
Valeu
SQL.Add(´select PEDIDOS.CODPEDIDO, ´ + ´PEDIDOS.DATA, ´ + ´PEDIDOS.VALORTOTAL, ´ + ´PEDIDOS.SITUACAO, ´ + ´CLIENTES.TIPCLIENTE TIPOCLIENTE, ´ + ´CLIENTES.NOME NOMECLIENTE, ´ + ´SYSUSUARIOS.NOME NOMEVENDEDOR, ´ + ´FORMAPAGAMENTO.NOME NOMEFORMAPAGAMENTO, ´ + ´CASE PEDIDOS.SITUACAO ´ + ´when ´#39 + ´A´ + 39´ then ´ + 39 + ´Aberto´ + 39 + ´when ´#39 + ´C´ + 39´ then ´ + 39 + ´Cancelado´ + 39 + ´end as NOMESITUACAO ´ + ´from PEDIDOS ´ + ´inner join CLIENTES on ´ + ´PEDIDOS.IDCLIENTE = CLIENTES.IDCLIENTE ´ + ´inner join FORMAPAGAMENTO on ´ + ´PEDIDOS.IDFORMAPAGAMENTO = FORMAPAGAMENTO.IDFORMAPAGAMENTO ´ + ´inner join SYSUSUARIOS on ´ + ´PEDIDOS.IDUSUARIO = SYSUSUARIOS.IDUSUARIO ´ + ´where DATA between :DATAINICIAL and :DATAFINAL ´);
Funcionou Legal assim
Valeu
GOSTEI 0
Motta
18/08/2005
Outra solução e usar a function :
Quotedstr (ou Quotestr não sei o nome ao certo) , que poe uma stirng entre aspas
query.sql.add(´where x=´ = quotedstr(´x´));
...
Quotedstr (ou Quotestr não sei o nome ao certo) , que poe uma stirng entre aspas
query.sql.add(´where x=´ = quotedstr(´x´));
...
GOSTEI 0