Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como excluir registros apartir do nome de um campo?

Pessoal, boa tarde!

Preciso excluir registros de uma base de dados onde se no campo 'x' houver o registro 'y' e o registro 'z', entao ele deleta a linha inteira, senao ele retorna o valor.

Desde já agradeço a ajuda.

1 Solution

Accepted Solutions
pericles_silva
Contributor III
Contributor III

É só adicionar a cláusula Where abaixo:

LOAD PLATAFORMA,
    
Month(PERÍODO)AS PERÍODO,
    
Year(PERÍODO)AS ANO,
    
ceil(Month(PERÍODO)/3)&'º Trim' as [Trimestre],
    
FILIAL,
    
PLATAFORMA&' - '&FILIAL AS NUM_PLAT,
    
MIX,
    
LINHA,
    
LISTA,
    
NCM,
    
CODIGO_FISCAL,
    
FABRICANTE,
    
COD_PRODUTO,
    
COD_BARRA,
    
PRODUTO,
    
QTD_VENDIDA,
    
VENDA_BRUTA,
    
DESCONTO,
    
RAD,
    
DEVOLUÇOES,
    
VENDA_LIQUIDA,
    
PREÇO_MEDIO,
    
ULTIMO_CUSTO,
    
CMV,
    
IMPOSTOS,
    
PIS,
    
COFINS,
    
ICMS,
    
MARGEM,
    
NOME_FILIAL
FROM (qvd)

Where Upper(MIX) <> 'LIXO';

View solution in original post

8 Replies
Anonymous
Not applicable
Author

Nao entendi, voce quer fazer isso no LOAD ou em um gráfico de tabela normal?

Not applicable
Author

Fala Rodrigo, tudo bem?

Cara, preciso fazer isso no script. Estou fazendo o Load de um arquivo QVD e preciso trazer um campo mas com restrição para alguns registros e nao sei como fazer isso.

Ja tentei negar e nao consegui.

Como havia dito antes, preciso do campo x, mas nao quero que ele retorne onde nesse campo houver o registro y ou z. Nesse caso, quero deletar o registro inteiro.

Abraço.

Anonymous
Not applicable
Author

um WHERE nao resolve... ?

load *

from tabela

where campo = x ;

ou

load *

from tabela

where campo <> y or campo <> z ;

Not applicable
Author

Pois é, nao estou encontrando uma maneira de fazer isso no qlik. Veja só:

Dentro os campos que estou trazendo, ha um chamada MIX. Esse campo traz os seguintes valores (medicamentos, nao medicamentos, generico e lixo). estou tentando fazer de uma maneira que, que ele exclua os registros onde no campo MIX houver o registro lixo.

Entendeu?

Ja tentei de varias maneiras e nao consegui.

Anonymous
Not applicable
Author

Entendi,

Mas analisando a situação, parece que o where seria a solução mesmo...

load* from tabela

where MIX <> 'lixo';

talvez usando o EXISTS...

where not exists(MIX, 'lixo');

... se não funcionar, poste qvw de exemplo.. fica mais facil de descobrir...

Not applicable
Author

LOAD PLATAFORMA,

    
Month(PERÍODO)AS PERÍODO,

    
Year(PERÍODO)AS ANO,

    
ceil(Month(PERÍODO)/3)&'º Trim' as [Trimestre],

    
FILIAL,

    
PLATAFORMA&' - '&FILIAL AS NUM_PLAT,

    
MIX,

    
LINHA,

    
LISTA,

    
NCM,

    
CODIGO_FISCAL,

    
FABRICANTE,

    
COD_PRODUTO,

    
COD_BARRA,

    
PRODUTO,

    
QTD_VENDIDA,

    
VENDA_BRUTA,

    
DESCONTO,

    
RAD,

    
DEVOLUÇOES,

    
VENDA_LIQUIDA,

    
PREÇO_MEDIO,

    
ULTIMO_CUSTO,

    
CMV,

    
IMPOSTOS,

    
PIS,

    
COFINS,

    
ICMS,

    
MARGEM,

    
NOME_FILIAL

FROM



(
qvd);

pericles_silva
Contributor III
Contributor III

É só adicionar a cláusula Where abaixo:

LOAD PLATAFORMA,
    
Month(PERÍODO)AS PERÍODO,
    
Year(PERÍODO)AS ANO,
    
ceil(Month(PERÍODO)/3)&'º Trim' as [Trimestre],
    
FILIAL,
    
PLATAFORMA&' - '&FILIAL AS NUM_PLAT,
    
MIX,
    
LINHA,
    
LISTA,
    
NCM,
    
CODIGO_FISCAL,
    
FABRICANTE,
    
COD_PRODUTO,
    
COD_BARRA,
    
PRODUTO,
    
QTD_VENDIDA,
    
VENDA_BRUTA,
    
DESCONTO,
    
RAD,
    
DEVOLUÇOES,
    
VENDA_LIQUIDA,
    
PREÇO_MEDIO,
    
ULTIMO_CUSTO,
    
CMV,
    
IMPOSTOS,
    
PIS,
    
COFINS,
    
ICMS,
    
MARGEM,
    
NOME_FILIAL
FROM (qvd)

Where Upper(MIX) <> 'LIXO';

Not applicable
Author

Valeu Pericles, deu certo.

Muito obrigado!