Dúvida na consulta SQL

16/05/2016

Excelente o Post.
Parabéns.
Estou com uma questão que não consigo chegar no resultado.
Poderia me explicar?

Considere a tabela VIAGEM abaixo, seus campos VALOR e DISTANCIA, e a consulta em linguagem SQL:


VIAGEM
VALOR DISTÂNCIA
3 200
4 100 SELECT SUM (V2.VALOR - V.VALOR)
2 500 FROM VIAGEM AS V
12 400 INNER JOIN VIAGEM AS V2
4 300 ON (V.VALOR = V2.DISTANCIA / 100)
3 200
12 100

Teremos como retorno da consulta SQL:
a) 10
b) 15
c) 20
d) 25
e) 30




Atenciosamente,

Essa dúvida foi gerada a partir de um comentário no artigo [url:descricao=Cláusulas INNER JOIN, LEFT JOIN e RIGHT JOIN - Associação de Tabelas: SQL Server 2008 - Parte 2]http://www.devmedia.com.br/clausulas-inner-join-left-join-e-right-join-associacao-de-tabelas-sql-server-2008-parte-2/18930[/url]

Victor Carlos

Melhor resposta

16/05/2016

Sempre que inserir código no post, utilize a guia <Inserir Código>. Isso ajuda ( bastante ) o entendimento do problema :

A combinação de registros que atende a condição do INNER JOIN, é :

V.VALOR     V2.DISTANCIA
----------- -------------
2           200
4           400
4           400
3           300
3           300
2           200


Isolando somente os valores, ficamos com :

V2.VALOR    V.VALOR     DIFERENÇA
----------- ----------- -----------
3           2           1
12          4           8
12          4           8
4           3           1
4           3           1
3           2           1


Somando as diferenças( 1 + 8 + 8 + 1 + 1 + 1 ) o resultado final é 20 !

Marcos P

Responder Citar

Outras Respostas

25/07/2016

Gabriel

Marcos P

Desculpe a ignorância...mas você poderia ser mais detalhista quanto a explicação...por que ainda nao entendi como chegou nesse resultado!

Obrigado
Responder Citar