simulando procv no sql
04/12/2015
0
Olá Boa tarde.
Preciso de ajuda!!
Tenho duas tabelas: ACTION_EXTRACTION e REFERENCIA.
Preciso de um código que faça como o procv, olhando um valor na tabela NC e buscando na tabela REFERENCIA, se encontrar trazer outros 3 campos definidos e os que NÃO encontrar preencher como NA, podendo inserir os dados da seleção em uma terceira tabela RESULTADO.
Eu já consegui fazer o "PROCV" no SQL e trazer os campos que a tabela NC encontrou na REFERENCIA, mas na hora de buscar os campos que não foram encontrados e colocar em outra tabela não funciona.
Segue código que funciona (a comparação de igual):
SELECT INTO RESULTADO
IIf
(
(ACTION_EXTRACTION.NC_PRAZO_ACAO)=IsNull(ACTION_EXTRACTION.NC_PRAZO_ACAO),
IIf
(
(ACTION_EXTRACTION.NC_RESP_VERIFICACAO)=IsNull(ACTION_EXTRACTION.NC_RESP_VERIFICACAO),
IIf
(
(ACTION_EXTRACTION.NC_RESP_ACAO)=IsNull(ACTION_EXTRACTION.NC_RESP_ACAO),(ACTION_EXTRACTION.NC_AUTOR),
(ACTION_EXTRACTION.NC_RESP_ACAO)
),
(ACTION_EXTRACTION.NC_RESP_VERIFICACAO)
),
(ACTION_EXTRACTION.NC_RESP_ACAO)) AS RESPONSAVEL_ATUAL,
ACTION_EXTRACTION.NC_NATUREZA_CORRECAO AS NATUREZA_ACAO,
REF.NOME_PESSOA AS RESP_ACAO,
REF.DEPTO_N1 AS AREA_RESP_N1,
REF.DEPTO_N2 AS AREA_RESP_N2,
REF.DEPTO_N3 AS AREA_RESP_N3,
ACTION_EXTRACTION.NC_DESCRICAO_ACOES,
ACTION_EXTRACTION.NC_PROJETO,
ACTION_EXTRACTION.NC_STATUS,
ACTION_EXTRACTION.NC_CRITICIDADE,
ACTION_EXTRACTION.NC_FASE_DETECÇÃO,
ACTION_EXTRACTION.NC_DESCRICAO_PROBLEMA INTO ACOES
FROM ACTION_EXTRACTION INNER JOIN REFERENCIA AS REF ON REF.NOME_PESSOA = ACTION_EXTRACTION.NC_RESP_ACAO
ORDER BY NC_NUMERO;
Preciso de um código que também me traga os registros que são diferentes (segue o codigo que tentei e não funcionou), troquei o " = " por " <> ":
FROM ACTION_EXTRACTION INNER JOIN REFERENCIA AS REF ON REF.NOME_PESSOA <> ACTION_EXTRACTION.NC_RESP_ACAO
Estou executando no ACCESS e quando procuro pelos registros diferentes (código acima) estoura o limite do banco do access (2GB).
No aguardo.
Obrigado.
Preciso de ajuda!!
Tenho duas tabelas: ACTION_EXTRACTION e REFERENCIA.
Preciso de um código que faça como o procv, olhando um valor na tabela NC e buscando na tabela REFERENCIA, se encontrar trazer outros 3 campos definidos e os que NÃO encontrar preencher como NA, podendo inserir os dados da seleção em uma terceira tabela RESULTADO.
Eu já consegui fazer o "PROCV" no SQL e trazer os campos que a tabela NC encontrou na REFERENCIA, mas na hora de buscar os campos que não foram encontrados e colocar em outra tabela não funciona.
Segue código que funciona (a comparação de igual):
SELECT INTO RESULTADO
IIf
(
(ACTION_EXTRACTION.NC_PRAZO_ACAO)=IsNull(ACTION_EXTRACTION.NC_PRAZO_ACAO),
IIf
(
(ACTION_EXTRACTION.NC_RESP_VERIFICACAO)=IsNull(ACTION_EXTRACTION.NC_RESP_VERIFICACAO),
IIf
(
(ACTION_EXTRACTION.NC_RESP_ACAO)=IsNull(ACTION_EXTRACTION.NC_RESP_ACAO),(ACTION_EXTRACTION.NC_AUTOR),
(ACTION_EXTRACTION.NC_RESP_ACAO)
),
(ACTION_EXTRACTION.NC_RESP_VERIFICACAO)
),
(ACTION_EXTRACTION.NC_RESP_ACAO)) AS RESPONSAVEL_ATUAL,
ACTION_EXTRACTION.NC_NATUREZA_CORRECAO AS NATUREZA_ACAO,
REF.NOME_PESSOA AS RESP_ACAO,
REF.DEPTO_N1 AS AREA_RESP_N1,
REF.DEPTO_N2 AS AREA_RESP_N2,
REF.DEPTO_N3 AS AREA_RESP_N3,
ACTION_EXTRACTION.NC_DESCRICAO_ACOES,
ACTION_EXTRACTION.NC_PROJETO,
ACTION_EXTRACTION.NC_STATUS,
ACTION_EXTRACTION.NC_CRITICIDADE,
ACTION_EXTRACTION.NC_FASE_DETECÇÃO,
ACTION_EXTRACTION.NC_DESCRICAO_PROBLEMA INTO ACOES
FROM ACTION_EXTRACTION INNER JOIN REFERENCIA AS REF ON REF.NOME_PESSOA = ACTION_EXTRACTION.NC_RESP_ACAO
ORDER BY NC_NUMERO;
Preciso de um código que também me traga os registros que são diferentes (segue o codigo que tentei e não funcionou), troquei o " = " por " <> ":
FROM ACTION_EXTRACTION INNER JOIN REFERENCIA AS REF ON REF.NOME_PESSOA <> ACTION_EXTRACTION.NC_RESP_ACAO
Estou executando no ACCESS e quando procuro pelos registros diferentes (código acima) estoura o limite do banco do access (2GB).
No aguardo.
Obrigado.
Marcelo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)