COMPARA?ÃO DE DADOS ENTRE TABELAS

MARCIOFERRER 14/09/2017 10:22:08
#476535
Bom dia,

Preciso da ajuda de vocês quanto a um projeto que estou desenvolvendo.
A situação é a seguinte, tenho 03 tabelas
Tabela A; Esta tabela ja esta em meu banco da dados e possui uma relação de códigos (NCM) que servirão de base para consulta na tabela B.
Tabela B: Esta tabela contera varias informações (NCM, Data, Numero da NF, e outras ). Esta tabela podera ser uma tabela de meu banco de dados ou apenas uma tabela com informaçOes temporarias que busquei atraves de uma consulta
Tabela C: Esta tabela servira para inserir os dados encontrados, mas tera que gravar estas informacoes em meu banco de dados.

Como se dara a consulta:
Quero fazer uma consulta pegando cada item (NCM) de minha tabela A , comparando com cada item (NCM) de minha tabela B, para saber se os numeros são iguais: Caso os NCM sejam iguais, pegara os dados (NCM, Data, numero da NF e outros caso necessite) e passara estas informações para a tabela C, informacoes estas que deverao ser gravadas no Banco de Dados. Resumidamente tera que pegar o primeiro numero da tabela A (123) e comparar com cada item da tabela B (118, 123, 128, 101, 234, 108), caso seja igual, repassar as informações (NCM, Data, numero da NF, etc), para a tabela C, Após pega o segundo item (124) e faz a mesma comparação com cada item da tabela B e assim por diante, inserindo os dados coincidente na tabela C.

Muito obrigado.

LUIS2014 14/09/2017 10:41:13
#476536
insert into tabela c
select A.NCM, B.Data, B.NF from Tabela B
join Tabela A on A.NCM = B.NCM
MARCIOFERRER 14/09/2017 10:50:08
#476537
Muito obrigado LUIS2014,

Sei que é pedir demais, mas um exemplo de código completo, você poderia passar é que sou iniciante e não tenho muito domínio sobre o assunto.

Atenciosamente,

Marcio Ferreira
LUIS2014 14/09/2017 11:52:23
#476543
Cara, eu até poderia, mas dai o KERPLUNK iria puxar minha orelha e com razão, se postar algo completo não é assim que vai aprender,
poste o que você tentou fazer que vamos tentando te direcionar.
KERPLUNK 14/09/2017 11:54:11
#476544
Citação:

:
Cara, eu até poderia, mas dai o KERPLUNK iria puxar minha orelha e com razão, se postar algo completo não é assim que vai aprender,
poste o que você tentou fazer que vamos tentando te direcionar.



Você pode usar pseudo-código pra ajudar:

var banco = conectaBanco
banco.Executar([Ô]sua sql[Ô])
MARCIOFERRER 14/09/2017 11:56:41
#476545
Obrigado,

A minha duvida é que esta busca será preciso dentro de uma estrutura de repetição? Pois ele terá que pegar cada código da tabela A e verificar se existe este código na tabela B.

Mais uma vez obrigado
KERPLUNK 14/09/2017 12:02:13
#476546
Agora sim é uma pergunta boa:
Vamos analisar a query:

insert into tabela c
select A.NCM, B.Data, B.NF from Tabela B
join Tabela A on A.NCM = B.NCM

Ela diz: Inserir na tabela C a seleção xxx
O insert, vai usar como parâmetros de inserção todos os registros que o select retornar. Se você executar somente a parte do select, vai ver quais registros serão inseridos na tabela C. Portanto, não, você não precisa fazer um loop, apenas executar a query.
LUIS2014 14/09/2017 13:10:02
#476548
Não tenho nem o que acrescentar ao comentário do KERPLUNK, simples e fácil.
MARCIOFERRER 14/09/2017 14:23:38
#476551
Meu código:
Dim strcon As String = [Ô]INSERT into plan3 [Ô] & _
[Ô]SELECT plan1.NCM, plan2.data, plan2.numeroNF [Ô] & _
[Ô]JOIN plan1 on plan1.NCM = plan2.NCM[Ô]

esta dando erro conforme a foto.

Se puderem me ajudar eu agradeço.
LUIS2014 14/09/2017 14:54:48
#476553
faltou um [Ô]From plan2[Ô]
MARCIOFERRER 14/09/2017 15:01:28
#476555
Meu código:

Dim strcon As String = [Ô]INSERT into Plan3 [Ô] & _
[Ô]SELECT NCM, Data, NumeroNF FROM Plan2 [Ô] & _
[Ô]INNER JOIN Plan1 [Ô] & _
[Ô]ON Plan1.NCM = Plan2.NCM[Ô]

e esta dando erro ainda:
A tradução do erro é a seguinte
O [Ô]NCM[Ô] especificado poderia se referir a mais de uma tabela onde listada na cláusula FROM do seu estado SQL.

Se puderem ajudar eu agradeço.
Página 1 de 2 [18 registro(s)]
Faça seu login para responder