Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 554016
            [titulo] => Dúvida na consulta SQL
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-05-16 11:14:36
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 378439
            [status] => A
            [isExample] => 
            [NomeUsuario] => Marcos P
            [Apelido] => 
            [Foto] => 378439_20140801115452.png
            [Conteudo] => 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, é :

[code]
V.VALOR V2.DISTANCIA
----------- -------------
2 200
4 400
4 400
3 300
3 300
2 200
[/code]

Isolando somente os valores, ficamos com :

[code]
V2.VALOR V.VALOR DIFERENÇA
----------- ----------- -----------
3 2 1
12 4 8
12 4 8
4 3 1
4 3 1
3 2 1
[/code]

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

Dúvida na consulta SQL

Victor Carlos
   - 16 mai 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 Cláusulas INNER JOIN, LEFT JOIN e RIGHT JOIN - Associação de Tabelas: SQL Server 2008 - Parte 2

Post mais votado

Marcos P
   - 16 mai 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, é :

#Código

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


Isolando somente os valores, ficamos com :

#Código
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 !

Gabriel
   - 25 jul 2016

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