SQL, Query, Duvida: Comparação linha com informações de coluna.

SQL

PostgreSQL

02/02/2018

Galera venho até vocês para pedir ajuda na construção de mais uma query.

Seguinte:

Tenho uma lista de telefones, e uma lista com os registros de ligação, com o numero da linha, origem e destino. Minha dúvida é: como verificar se o numero de destino é o numero da lista de telefones, e caso for somar a minutagem ?

as informações são essas:

Lista com os numeros:

Lista
469291722515
236550837659
715992600021
147144581776

Registro das ligações:

Origem Destino Tempo
469291722515 236550837659 0,24
469291722515 236550837659 0,24
469291722515 236550837659 0,31
469291722515 236550837659 0,77
469291722515 236550837659 0,95
469291722515 236550837659 0,32
469291722515 236550837659 0,59
469291722515 236550837659 0,30
469291722515 236550837659 0,60
469291722515 8146940972887 0,32
469291722515 9042789941871 0,30
469291722515 7481268774704 0,37
469291722515 2563248169705 0,54
469291722515 4095721883851 0,10
236550837659 9619881700128 0,54
236550837659 9560431244444 0,47
236550837659 8645338951133 0,01
236550837659 9057444886691 0,33
236550837659 2759383400297 0,52
236550837659 2770208359323 0,76
236550837659 147144581776 0,73
236550837659 147144581776 0,56
715992600021 147144581776 0,88
715992600021 147144581776 0,09
715992600021 147144581776 0,68
715992600021 147144581776 0,80
715992600021 147144581776 0,57
715992600021 6624071818940 0,12
715992600021 3277607841370 0,36
715992600021 7108389204690 0,29
715992600021 4707702518487 0,43
715992600021 5312156461136 0,06
715992600021 1539565173679 0,91
715992600021 1208495926580 0,07
715992600021 2325328379489 0,08
715992600021 716350331789 0,45

e o resultado esperado:

Lista Lig_Locais
469291722515 0
236550837659 4,307192535
715992600021 0
147144581776 4,313061958

Teria alguma maneira de elaborar isso por sql ?
Guilherme Gomes

Guilherme Gomes

Curtidas 0

Melhor post

Luiz Santos

Luiz Santos

02/02/2018

Guilherme.

Tenta isso:

SELECT
	Destino, 
	SUM(Tempo) AS Tempo
FROM 
	TABELA
WHERE 
	Destino IN (469291722515, 236550837659, 715992600021, 147144581776)
GROUP BY
	Destino


Grande abraço
GOSTEI 1

Mais Respostas

Guilherme Gomes

Guilherme Gomes

02/02/2018

luiz fernando, obrigado por ter ajudado, mas meu problema é um pouco mais complexo, imagine que minha lista de numeros seja muito maior, tipw 30.000 de linhas =). como faria para essa query ser dinamica entende ?
GOSTEI 0
Jerson Boer

Jerson Boer

02/02/2018

Guilherme, veja se seria desta forma:

Select Numero, SUM(Minuto) as Minutagem from NumeroLinha inner join
	Destino ON NumeroLinha.Numero = Destino.Numero


Obrigatoriamente ele vai relacionar o número de destino com o número da linha, exibindo somente os valores quando ambos forem iguais, desta forma somando os minutos.
GOSTEI 0
POSTAR