simulando procv no sql

04/12/2015

1

SQL

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.
Responder