none
String Sql - Access -> MySql RRS feed

  • Pergunta

  • Tenho uma string que no Access funciona plenamente

    SELECT '1' AS test123, apoioLOB.Descricao, IF(test123=1,'TESTE','ERRADO') aS y FROM apoioLOB

    Crio o campo calculado test123 e depois utilizo na frente, porém estou tentando fazer a mesma coisa no MySql e está dando erro, qual seria sintaxe correta para o MySql?

    quarta-feira, 6 de junho de 2018 12:01

Respostas

  • Felipe, achei o que precisava

    SELECT id, Descricao,  @x1 := IF(id>5,'Maior','Menor') AS x12, if(@x1='Maior','Maior Teste','Menor XXXX') as y FROM apoioCausa

    Agora consigo reutilizar esse novo campo ou variável, aqui no Mysql é denominado como variável.

    quarta-feira, 6 de junho de 2018 19:47

Todas as Respostas

  • Venildo, bom dia.

    Você precisa utilizar um parâmetro, segue abaixo.

    set @test123 = 1;
    SELECT @test123, apoioLOB.Descricao, IF(@test123=1,'TESTE','ERRADO') aS y FROM apoioLOB

    Qualquer dúvida, estou a disposição.

    att.

    Felipe

    quarta-feira, 6 de junho de 2018 12:22
  • Felipe, 

    Estou utilizando essa String dentro de um programa, e passei um exemplo, mas a string seria da seguinte forma

    SELECT  (SELECT idCodigo FROM apoioCodigo WHERE Atual=True) AS Imposto, idCriterio, IF(Imposto>10,'IPI','ICMS') AS TipoImposto, IF(Imposto='IPI',0.2,0.12) * vlPago FROM Valores

    É uma string parecida com essa, irei utilizar esse campo calculado várias vezes dentro da String. 

    Tem como fazer isso?

    quarta-feira, 6 de junho de 2018 12:46
  • Você quer converter esse select pra MySQL, é isso?

    Não entendi muito bem.

    Se for isso mesmo, faz o seguinte:

    set @Imposto = (SELECT idCodigo FROM apoioCodigo WHERE Atual=True);
    SELECT 
        idCriterio
        ,IF(@Imposto>10,'IPI','ICMS') AS TipoImposto
        ,IF(@Imposto>10,0.2,0.12) * vlPago
    FROM
    	Valores

    quarta-feira, 6 de junho de 2018 16:23
  • Felipe,

    Não estou utilizando o ambiente do MySql, estou desenvolvendo em .Net e fiz uma string com campo calculado, e queria utilizar esse campo em outra parte da string.

    No Access, você cria uma campo calculado, logo na frente você já pode utilizar o campo somente passando o nome e não a regra utilizada para fazer o calculo.

    sSql = sSql & "(SELECT FIRST(dtEnvio) as dt FROM SinistroPrestador WHERE SinistroPrestador.idAviso=Sinistro.idAviso LIMIT 1) AS [Dt Envio 1o Prestador], "
    sSql = sSql & "IIF(IsNull([Dt Envio 1o Prestador]),'',DateDiff('d',Sinistro.dtEntrada,[Dt Envio 1o Prestador])) AS [# Dias 1º Prestador], tmpRelBaseCompleta.Dias AS [Dias Pend Docs],  "
    sSql = sSql & "SinistroPrestador.dtPagamento AS [Dt Pagto - Prestador], SinistroPrestador.vlRecebidoDolar AS [Vl Recebido US$ - Prestador]"

    O exemplo acima, é somente uma parte da String, criei um campo chamado [Dt Envio 1o Prestador], logo em seguida já utilizei o nome [Dt Envio 1o Prestador] para efetuar outras condições, no acess é sem problemas, mas no MySql não estou conseguindo utilizar.
    Existe essa possibilidade no MySql?

    quarta-feira, 6 de junho de 2018 17:11
  • Assim, você queria saber como fazer no MySQL, pelo menos é isso que está escrito na sua postagem.

    Você vai precisara dar uma olhada nos objetos de conexão MySQL do .NET, segue abaixo.

    MySqlCommand e MySqlDataReader

    att.

    Felipe

    quarta-feira, 6 de junho de 2018 18:26
  • Acho que me expressei errado, mas beleza. Vou Pesquisar, obrigado

    quarta-feira, 6 de junho de 2018 18:59
  • Felipe, achei o que precisava

    SELECT id, Descricao,  @x1 := IF(id>5,'Maior','Menor') AS x12, if(@x1='Maior','Maior Teste','Menor XXXX') as y FROM apoioCausa

    Agora consigo reutilizar esse novo campo ou variável, aqui no Mysql é denominado como variável.

    quarta-feira, 6 de junho de 2018 19:47
  • Boa tarde.

    Se de acordo, marque sua solução como resposta.

    Poderá ajudar outros com a mesma dúvida.


    MARIANO1776

    quinta-feira, 7 de junho de 2018 20:31