Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
fabianayuka
Enthusiast
Enthusiast

SQL syntax

No editor de carga de dados do QlikSense, criei algumas tabelas. Agora, gostaria de utilizar os dados dessas tabelas criadas em outra seção, mas está dando erro na linha do FROM. O que está errado?

Criadas anteriormente:

  • DOCS_ASSINADOS
  • ULT_ASSINATURA

----------------------------------------------

[NUM_DOCS]:

LOAD

    id_protocolo,

    processo,

    documento,

    tipo_documento,

    data_assinatura;

  

SQL SELECT

      t1.id_protocolo,

      t1.protocolo_completo AS processo,

      (MAX(t1.documento)) AS documento,

      t1.tipo_documento,

      t1.data_assinatura

     FROM DOCS_ASSINADOS t1, ULT_ASSINATURA t2

      WHERE (t1.id_protocolo = t2.id_protocolo AND t1.data_assinatura = t2.data_assinatura AND t1.tipo_documento =

           t2.tipo_documento);

-------------------

ERROR [42000] [Qlik][ODBC MySQL Wire Protocol driver][MySQL]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DOCS_ASSINADOS t1, ULT_ASSINATURA t2

WHERE (t1.id_protocolo = t2.id_p' at line 6

Labels (1)
2 Replies
Thiago_Justen_

Fabiana,

Quando você diz que criou anteriormente duas tabelas acredito que um load resident resolveria...mas, considerando seu select tenho uma sugestão.

Receio que assim deve funcionar:

DOCS_ASSINADOS:

Load

*;

SQL SELECT

      id_protocolo,

      protocolo_completo AS processo,

      tipo_documento,

      data_assinatura

FROM DOCS_ASSINADOS;

Left Join (DOCS_ASSINADOS)

Load

id_protocolo,

documento;

SQL SELECT

      id_protocolo,

      MAX(documento) AS documento

     FROM DOCS_ASSINADOS t1 Where (exists (select * from ULT_ASSINATURA t2

      WHERE  t1.id_protocolo = t2.id_protocolo)) group by id_protocolo;


Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
balabhaskarqlik

May be try like this:

[NUM_DOCS]:

LOAD

    id_protocolo,

    processo,

    documento,

    tipo_documento,

    data_assinatura;

SQL SELECT

      t1.id_protocolo,

      t1.protocolo_completo AS processo,

        (MAX(t1.documento)) AS documento,

      t1.tipo_documento,

      t1.data_assinatura

     FROM DOCS_ASSINADOS t1, ULT_ASSINATURA t2

      ON (t1.id_protocolo = t2.id_protocolo)

where t1.data_assinatura = t2.data_assinatura AND t1.tipo_documento = t2.tipo_documento

GROUP BY id_protocolo,t1.documento;

OR

SQL SELECT

      t1.id_protocolo,

      t1.protocolo_completo AS processo,

        MAX(t1.documento) AS documento,

      t1.tipo_documento,

      t1.data_assinatura

     FROM DOCS_ASSINADOS t1

where exists (select t2.id_protocolo from ULT_ASSINATURA t2 where

      t1.id_protocolo = t2.id_protocolo)

GROUP BY id_protocolo,t1.documento;