Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde,
Estou com problemas ao executar o where exists. Ele não me retorna nenhum valor.
Eu preciso que ele retorne o nome do cliente que esteja na nota fiscal. Pois tenho uma tabela com todos os clientes cadastrados, mas quero somente os clietnes que tem nota fiscal.
Poderiam me ajudar?
Chamados:
LOAD
[Id Nome], [Número Nota];
SELECT Id as [Número Nota],
Fk_Client as [Id Nome],
FROM NF;
[Cliente]:
LOAD
[Id Nome],
Nome
Telefone
where Exists(Fk_Client ,Id);
SELECT
Id as [Id Nome],
Nome,
Telefone
FROM Cliente;
Faça assim então. Crie um campo temporário.
Chamados:
LOAD
[Id Nome], [Número Nota], [Id Nome] AS Fk_Cliente;
SELECT Id as [Número Nota],
Fk_Client as [Id Nome],
FROM NF;
[Cliente]:
LOAD
[Id Nome],
Nome
Telefone
where Exists(Fk_Cliente, [Id Nome]);
SELECT
Id as [Id Nome],
Nome,
Telefone
FROM Cliente;
Drop Field Fk_Client;
Don't worry, be Qlik.
Tonial.
Chamados:
LOAD
[Id Nome], [Número Nota];
SELECT Id as [Número Nota],
Fk_Client as [Id Nome],
FROM NF;
[Cliente]:
LOAD
[Id Nome],
Nome
Telefone
where Exists( [Id Nome]);
SELECT
Id as [Id Nome],
Nome,
Telefone
FROM Cliente;
Olá,
Segue a sintaxe da função
Exists(campo [ , expressão ])
Determina se um valor de campo específico existe em um campo especificado dos dados carregados até o momento. Campo é um nome ou uma expressão de caractere que é avaliada para um nome de campo. O campo deve existir nos dados carregados até o momento pelo script. Expr é uma expressão avaliada para o valor de campo a ser pesquisado no campo especificado. Se for omitido, será assumido o valor do registro atual no campo especificado.
Em seu Caso altere de
where Exists(Fk_Client ,Id);
para
where Exists([Id Nome]);
Pois você possui apenas o campo [Id Nome] nas duas tabelas.
Don't worry, be Qlik.
Tonial.
Então ele trouxe toda a informação.
Era pra trazer apenas os Id Nome que estão na tabela cliente que estivessem no Id Nome da tabela NF.
foi isso que vc me falou?
Fernando o campo [Id Nome] só tenho nas duas tabelas, porém quando executei trouxe todos os nomes de cliente.
Faça assim então. Crie um campo temporário.
Chamados:
LOAD
[Id Nome], [Número Nota], [Id Nome] AS Fk_Cliente;
SELECT Id as [Número Nota],
Fk_Client as [Id Nome],
FROM NF;
[Cliente]:
LOAD
[Id Nome],
Nome
Telefone
where Exists(Fk_Cliente, [Id Nome]);
SELECT
Id as [Id Nome],
Nome,
Telefone
FROM Cliente;
Drop Field Fk_Client;
Don't worry, be Qlik.
Tonial.
Não deu certo
ele continua trazendo toda a informação de cliente.
No banco de dados da certo, pois é utilizado o inner join com isso retorna pouco registros, ou seja, na minha tabela de nota tenho apenas alguns 'Id's Nome'
Se vc quer na tabela Chamados apenas que ele traga os dados dos clientes que vc tem nota fiscal na tabela chamados:
Faça o seguinte,
Chamados:
LOAD
[Id Nome],
[Número Nota];
SELECT Id as [Número Nota],
Fk_Client as [Id Nome],
FROM NF;
left join
LOAD
[Id Nome],
Nome
Telefone
SELECT
Id as [Id Nome],
Nome,
Telefone
FROM Cliente;
Pessoal nao deu certo..
Veja se minha logica faz sentido.
Tenho uma tabela de Chamados, nela tenho: Numero da Nota fiscal, Tipo da nota, data, tenho também o Id Nome, que é uma chave para a tabela de Cliente, na tabela cliente tenho informações de todos os clientes.
Vejam se faz sentido: Eu quero trazer pra minha tabela chamados, ou pro meu campo Id Nome, apenas clientes que possuem nota, ou seja, só terei no qlikview a lista de clientes que tiverem nota. Como falei antes no bando de dados faço essa ligação atraves da tabela chamados inner join com a tabela de clientes ligando pelo Id Nome e la me retorna apenas esses clientes, há algum erro de sintaxe, lógica?
Boa noite.
Se fizer a carga das duas tabelas e olhar o conteúdo do campo cliente ele é igual nas duas ou pode ter vindo com formatos diferentes (ex:0001 e no outro load 1 )
Se colocar duas tabelas na tela. Uma de nota e a outra com cliente. Ao selecionar uma nota, ele mostra somente 1 linha na tabela cliente?
Outra curiosidade. Antes destes LOAD não tem alguma outra parte do script (antes...) que lê o campo [Id Nome]) ?
AMF