Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
claudemir_dioto
Contributor III
Contributor III

Script SQL- Leitura ODBC

Bom dia Pessoal.

Alguém pode me auxiliar ?

Tenho o script abaixo que ao executar o mesmo diretamente no banco retorna os registros sem problemas. Todavia, ao executar o mesmo script dentro do Qlik View, dá erro de leitura ODBC. Alguma LUZ ?

Segue script.

LOAD *,

MONTH(dat_hor_emissao) as MES,

    YEAR(dat_hor_emissao) as ano;

[FATURAMENTO]:

SELECT

        FAT_NF_MESTRE.EMPRESA,

        FAT_NF_MESTRE.NOTA_FISCAL,

        FAT_NF_MESTRE.COND_PAGTO,

   CAST(FAT_NF_MESTRE.DAT_HOR_EMISSAO AS DATE) AS DAT_HOR_EMISSAO,

        FAT_NF_MESTRE.CLIENTE,

        FAT_NF_MESTRE.PLACA_VEICULO,

        FAT_NF_MESTRE.VAL_NOTA_FISCAL,

        FAT_NF_MESTRE.CLIENTE,

        FAT_NF_MESTRE.VAL_SEGURO_CLIENTE,

        FAT_NF_MESTRE.VAL_FRETE_CLIENTE,

        CIDADES.DEN_CIDADE,

        CIDADES.COD_UNI_FEDER,

        CLIENTES.NOM_CLIENTE,

        CLIENTES.NUM_TELEFONE,

        CLIENTES.NUM_FAX,

        CLIENTES.NOM_CONTATO,

        CLIENTES.END_CLIENTE,

        FAT_NF_ITEM.ITEM,

        FAT_NF_ITEM.DES_ITEM,

        FAT_NF_ITEM.PEDIDO,

        FAT_NF_ITEM.QTD_ITEM,

        FAT_NF_ITEM.VAL_LIQUIDO_ITEM,

        FAT_NF_ITEM.PRECO_UNIT_LIQUIDO,

        FAT_NF_ITEM.VAL_MERC_ITEM,

        REPRESENTANTE.NOM_REPRES,

        ITEM.GRU_CTR_ESTOQ,

        ITEM.COD_FAMILIA,

        ITEM.COD_UNID_MED,

        SUP_NF_DEVOL_CLI.QTD_ITEM AS QTD_DEVOLVIDA,

        SUP_NF_DEVOL_CLI.PRECO_UNIT_ITEM AS PRECO_ITEM_DEVOLUCAO,

        SUP_NF_DEVOL_CLI.AVISO_RECEBTO,

        GRUPO_ITEM.DEN_GRUPO_ITEM,

        LINHA_PROD.DEN_ESTR_LINPROD AS LINHA_PROD,

     CASE WHEN item.cod_lin_prod = '1'   THEN 'LINHA MECANICA'

                WHEN item.cod_lin_prod = '2'   THEN 'LINHA HIDRAULICA'

                WHEN item.cod_lin_prod = '3'   THEN 'LINHA VIRADEIRAS'

                WHEN item.cod_lin_prod = '4'   THEN 'LINHA MAZUTTI'

                WHEN item.cod_lin_prod = '10' THEN 'LINHA REVENDA'

                WHEN item.cod_lin_prod = '12' THEN 'LINHA LASER'

                                                                    ELSE 'OUTROS'

                END AS TIPO_LINHA

FROM    FAT_NF_MESTRE

INNER JOIN FAT_NF_ITEM

ON      FAT_NF_MESTRE.TRANS_NOTA_FISCAL = FAT_NF_ITEM.TRANS_NOTA_FISCAL

INNER JOIN CLIENTES

ON     FAT_NF_MESTRE.CLIENTE = CLIENTES.COD_CLIENTE

INNER JOIN FAT_NF_REPR

ON     FAT_NF_MESTRE.TRANS_NOTA_FISCAL = FAT_NF_REPR.TRANS_NOTA_FISCAL

INNER JOIN REPRESENTANTE

ON     FAT_NF_REPR.REPRESENTANTE = REPRESENTANTE.COD_REPRES

INNER JOIN ITEM

ON     FAT_NF_ITEM.ITEM = ITEM.COD_ITEM

INNER JOIN CIDADES

ON     CLIENTES.COD_CIDADE = CIDADES.COD_CIDADE

LEFT JOIN SUP_NF_DEVOL_CLI

ON    SUP_NF_DEVOL_CLI.NOTA_FISCAL_FATURA = FAT_NF_MESTRE.NOTA_FISCAL

AND   SUP_NF_DEVOL_CLI.SEQ_NF_FATURA = FAT_NF_ITEM.SEQ_ITEM_PEDIDO

INNER JOIN ITEM_VDP

ON  ITEM.COD_ITEM = ITEM_VDP.COD_ITEM

INNER JOIN GRUPO_ITEM

ON   ITEM_VDP.COD_GRUPO_ITEM = GRUPO_ITEM.COD_GRUPO_ITEM

INNER JOIN LINHA_PROD

ON    ITEM.COD_LIN_PROD  = LINHA_PROD.COD_LIN_PROD

AND   ITEM.COD_LIN_RECEI = LINHA_PROD.COD_LIN_RECEI

AND   ITEM.COD_SEG_MERC  = LINHA_PROD.COD_SEG_MERC

AND   ITEM.COD_CLA_USO   = LINHA_PROD.COD_CLA_USO

WHERE   FAT_NF_MESTRE.COND_PAGTO <> '999'

        AND FAT_NF_MESTRE.SIT_NOTA_FISCAL <> 'C'

        AND FAT_NF_REPR.SEQ_REPRESENTANTE = '1'

ORDER BY FAT_NF_MESTRE.DAT_HOR_EMISSAO, FAT_NF_ITEM.PEDIDO;

Agradeço desde já a todos.

Pela atenção, obrigado.

Claudemir

Labels (1)
1 Solution

Accepted Solutions
nicolett_yuri

O trecho do LOAD precisa estar abaixo do nome da tabela

[FATURAMENTO]:

LOAD *,

MONTH(dat_hor_emissao) as MES,

    YEAR(dat_hor_emissao) as ano;

SQL SELECT

        FAT_NF_MESTRE.EMPRESA,

        FAT_NF_MESTRE.NOTA_FISCAL,

............

View solution in original post

2 Replies
nicolett_yuri

O trecho do LOAD precisa estar abaixo do nome da tabela

[FATURAMENTO]:

LOAD *,

MONTH(dat_hor_emissao) as MES,

    YEAR(dat_hor_emissao) as ano;

SQL SELECT

        FAT_NF_MESTRE.EMPRESA,

        FAT_NF_MESTRE.NOTA_FISCAL,

............

Clever_Anjos
Employee
Employee

Você está com o campo FAT_NF_MESTRE.CLIENTE repetido, remova um deles

   FAT_NF_MESTRE.CLIENTE,

        FAT_NF_MESTRE.PLACA_VEICULO,

        FAT_NF_MESTRE.VAL_NOTA_FISCAL,

        FAT_NF_MESTRE.CLIENTE,