Ir ao conteúdo
  • Cadastre-se
ErickSant

SQL Server Consulta SQL entre duas Tabelas

Recommended Posts

Amigos, boa tarde!

 

Tenho duas tabelas; Base e Extrato, onde Base possui os campos 'data e valor' e em Extrato possui 'data','valor','fornecedor','tipo'.]

Em minha consulta, quero pegar todos valores e datas de base que forem iguais ao de extrato, trazendo fornecedor e tipo juntos.

 

Segue meu código:

 

SELECT base.data, 
ROUND(base.valor,2) AS valor, 
extrato.fornecedor, extrato.tipo
FROM base INNER JOIN extrato
ON 
ROUND(base.valor,2) = ROUND(extrato.valor,2)
AND base.data = extrato.data

 

O problema, é que não sei por qual motivo, está trazendo 18 linhas, ao invés de 4 apenas...

Vejam o anexo para melhor entendimento, alguém poderia me ajudar ?

 

img1.png

img2.png

img3.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece que em cada tabela tem 4 linhas, você está fazendo um inner join.

 

  Como todas as linhas ta tabela extrado atende ao inner join, seria 1x4 para cada linha da tabela base.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como poderia resolver isso ? Tentei criar uma chave mas o ID fica diferente nas tabelas...

Acho que a única solução seria futuramente criar chaves para cada registro iguais nas 2 tabelas, certo ?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelas imagens o resultado faz todo o sentido afinal todos os dados tem a mesma data e valor, você já parou para pensar se(e como) você relacionaria os dados simplesmente olhando para as duas tabelas? pois para relacionar os dados no sistema você precisa de uma regra clara e exata.

 

De qualquer forma o ideal seria que as tabelas estivessem relacionadas por meio de uma chave estrangeira que você preencheria durante a inserção dos dados.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×