/ / Convertendo colunas calculadas do MS Access para MySQL - mysql, ms-access

Convertendo colunas calculadas do MS Access para MySQL - mysql, ms-access

Eu estou trabalhando na conversão de consultas do MS Access para o MySQL. Até agora, eu tenho tido sorte com isso, mas estou tendo problemas com a conversão das colunas calculadas listadas abaixo em Access to MySQL:

  1. IIf (sumofpacking é nulo, sacos, sacos-sumofpacking) AS Bags_Undelivered

  2. IIf (sumofnet_qty é Nulo, Lbs, Lbs-SumOfNET_QTY) AS Lbs_Undelivered

  3. DateDiff ("m", DELVPERIOD_TO, Date ()) AS Months_Late

  4. Rodada ((0.025 * Lbs Não entregue * Meses de atraso), 2) AS Store_Fin_Charges

Qualquer ajuda é apreciada.

Respostas:

0 para resposta № 1
  1. Primeira e segunda pergunta

Para iniciar o Mysql não tem um Iif função. Então, os dois primeiros precisarão usar outra função chamada case e pode ser usado da seguinte maneira de acordo com este tutorial;

CASE  case_expression
WHEN when_expression_1 THEN commands
WHEN when_expression_2 THEN commands
...
ELSE commands
END CASE;

então suas partes de consulta se tornariam:

case
when sumofpacking Is Null then Bags else Bags-sumofpacking end case AS Bags_Undelivered

e

case
when sumofnet_qty Is Null then Lbs else Lbs-SumOfNET_QTY end case AS Lbs_Undelivered

  1. Terceira pergunta

o datediff função no mysql usa apenas 2 entradas como tomadas deste tutorial:

SELECT DATEDIFF("2014-11-30","2014-11-29") AS DiffDate

Levando em consideração essa data você tem que fornecer uma data para a função, sua consulta se tornaria:

DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late

  1. Ultima questão

Não tenho certeza porque o último, o número 4 não funciona, provavelmente porque ele não reconhece o dos campos.