MENINOS, COMO FAZER UM IIF NUM SELECT

 Tópico anterior Próximo tópico Novo tópico

MENINOS, COMO FAZER UM IIF NUM SELECT

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#489155 - 12/06/2019 09:18:45

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Meninos, queria fazer um IIF dentro desse SELECT

   sSQL = "SELECT " & _
      "pedidos.tipo_pedido as varTipoLanc, " & _
      "parcelas.hora AS varHora, " & _
      "parcelas.codigo AS varCodigo, " & _
      "pedidos.cod_pedido AS varCodPedido, " & _
      "cliente.nome AS varCliente, " & _
      "parcelas.forma_pgto AS varFormaPgto, " & _
      "parcelas.valor_final AS varValorLanc, " & _
      "0 AS varValorSaida, " & _
      "(parcelas.valor_final  - 0) AS campo04, " & _
      "IIf(pedidos.tipo_cartao = 'D', 'DÉBITO', 'CRÉDITO') AS varTipoCartao, " & _
      "parcelas.pagamento AS data, " & _
      "pedidos.cod_pedido AS pedido, " & _
      "pedidos.cod_cliente AS cliente, " & _
      "'' AS setor, " & _
      "parcelas.maquina " & _
      "FROM cliente INNER JOIN pedidos ON cliente.codigo = pedidos.cod_cliente " & _


esse IIF
"IIf(pedidos.tipo_cartao = 'D', 'DÉBITO', 'CRÉDITO') AS varTipoCartao, " & _

mais dar erro... onde estou errando?




Resposta escolhida #489157 - 12/06/2019 09:58:11

LVFIOROT
SERRA
Cadast. em:Março/2012


depende do banco de dados...
mssql é case
access é iif





#489158 - 12/06/2019 10:03:26

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


VB6 e SQL server 2008



#489160 - 12/06/2019 11:05:37

JABA
CABO FRIO
Cadast. em:Agosto/2005


Foi só a partir da versão 2012 do SQL Server que a Microsoft adicionou a função IIF. Antes se utilizava a expressão CASE.

www.portaleducacao.com.br/conteudo/artigos/farmacia/utilizando-a-clausula-case-em-um-select-sql-server/6356

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489177 - 13/06/2019 08:55:39

LVFIOROT
SERRA
Cadast. em:Março/2012


Citação:
:
Foi só a partir da versão 2012 do SQL Server que a Microsoft adicionou a função IIF. Antes se utilizava a expressão CASE.

www.portaleducacao.com.br/conteudo/artigos/farmacia/utilizando-a-clausula-case-em-um-select-sql-server/6356

como o dela e 2008 então é case mesmo....



#489178 - 13/06/2019 09:21:24

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Bom dia pessoal, fiz assim e funcionou parcialmente

"(CASE WHEN pedidos.tipo_cartao = 'D' THEN 'DÉBITO' ELSE 'CRÉDITO' END) AS varTipoCartao, " & _


porem quando com campo pedidos.tipo_cartao está vazio... ele coloco como "CRÉDITO".... como faço para inserir mais essa opção dentro da case?

se "D" entao "DEBITO"
se "C" entao "CREDITO"
se 'vazio' entao ""




#489181 - 13/06/2019 11:55:54

JABA
CABO FRIO
Cadast. em:Agosto/2005


Tente assim:

"(CASE WHEN pedidos.tipo_cartao = 'D' or pedidos.tipo_cartao = '' THEN 'DÉBITO' ELSE 'CRÉDITO' END) AS varTipoCartao, " & _



_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489182 - 13/06/2019 12:30:22

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Citação:
:
Tente assim:

"(CASE WHEN pedidos.tipo_cartao = 'D' or pedidos.tipo_cartao = '' THEN 'DÉBITO' ELSE 'CRÉDITO' END) AS varTipoCartao, " & _



os vazios continua aparecendo "CREDITO"



#489183 - 13/06/2019 12:43:57

LVFIOROT
SERRA
Cadast. em:Março/2012


CASE
WHEN pedidos.tipo_cartao = 'D' THEN 'DÉBITO'
WHEN pedidos.tipo_cartao = 'C'  THEN 'CRÉDITO'
ELSE ''
END



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por AMELINHACODE em 13/06/2019 18:44:31