1
resposta

TRABALHANDO COM PYTHON E MYSQL

Pessoal, boa tarde!! Estou em um projeto em que devo fazer um software que leia uma coluna de um banco de dados, e se tal coluna estiver com um status X, e em outra coluna, a data estiver como a data atual do sistema, um e-mail deverá ser enviado. Já consegui fazer toda a conexão com o servidor de email e com o banco, porém, estou com problema na hora da filtragem. Não consigo pegar apenas os que tem tal status e horário, não compila. O select passa, mas a partir do momento em que eu coloco o WHERE, dá erro. Oq pode ser? como eu posso fazer esse programa rodar? Segue o código que estou usando

pesquisa = cursor.execute(''' Select DISTINCT
               t1.DocNum AS [Nº Doc.],
               t1.NumAtCard as DEAL,
               t1.CardCode AS [Cód. Cliente],
               t1.CardName AS [Nome do Cliente],
               t0.ItemCode AS Item,
               t0.U_pedido_venda as 'Lead',
               T0.Dscription AS descrição,

               t1.UpdateDate  as data,
              t1.Status 

                FROM RDR1 AS t0 Left JOIN ORDR AS t1 ON t1.DocEntry = t0.DocEntry Left JOIN OUSG AS t2 ON t0.Usage = t2.ID Left JOIN OCTG AS T3 ON T1.GroupNum = T3.[GroupNum] Left JOIN CTG1 T4
                 ON T3.[GroupNum] = T4.[CTGCode]
                 WHERE
                 t1.UpdateDate == CURRENT_DATE 
                  AND 
                  t1.status == 'WON'





            '''

1 resposta

Oi Eduardo, tudo bem com você?

Para comparar devemos utilizar apenas um igual(=). A forma como você está fazendo a comparação no where utiliza dois iguais, provavelmente isso está ocasionando o erro. Tente o seguinte:

 WHERE
    t1.UpdateDate = CURRENT_DATE 
    AND 
    t1.status = 'WON'

Após essa mudança, tente executar novamente seu código. Caso não obtenha sucesso, mostre por favor o log do erro para que possamos te ajudar.

Fico à disposição para qualquer dúvida. Abraços e bons estudos!