COMPARA?ÃO DE DADOS ENTRE TABELAS
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.
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.
insert into tabela c
select A.NCM, B.Data, B.NF from Tabela B
join Tabela A on A.NCM = B.NCM
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
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
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.
poste o que você tentou fazer que vamos tentando te direcionar.
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[Ô])
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
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
Agora sim é uma pergunta boa:
Vamos analisar a query:
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.
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.
Não tenho nem o que acrescentar ao comentário do KERPLUNK, simples e fácil.
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.
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.
faltou um [Ô]From plan2[Ô]
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.
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.
Faça seu login para responder