Função Union sql sever

18/11/2015

0

Preciso fazer um UNION nesse código, pois há informações repetidas na coluna S1.RESUMO_UTLIZACAO e eu precisava que aparecesse somente uma vez
SELECT
S1.CELULAR
,S1.RESUMO_UTLIZACAO AS DESCRICAO
,S1.NUMERO_CHAMADO
,S1.TARIFA
,DATA=convert(nvarchar,[DATA],103)
,S1.HORA_INICIO
,DURACAO=REPLACE(REPLACE(S1.DURACAO02,'m',''),'s','')
,S1.PLANO_CELULAR
,VALOR_PLANO=MAX(S1.VALOR)
,MINUTOS=cast(cast(left(REPLACE(REPLACE(S1.DURACAO02,'m',''),'s',''),2)as varchar)as Int)
,SEGUNDOS=cast(cast(right(REPLACE(REPLACE(S1.DURACAO02,'m',''),'s',''),2)as varchar)as Int)
,VALOR_LIG=(cast(cast(left(REPLACE(REPLACE(S1.DURACAO02,'m',''),'s',''),2)as varchar)as Int)*0.25)+(CONVERT(FLOAT,right(REPLACE(REPLACE(S1.DURACAO02,'m',''),'s',''),2))/60)*0.25
,OBSERVACAO=CASE WHEN P1.OBSERVACAO IS NULL AND S1.NUMERO_CHAMADO IS NOT NULL
THEN 'DESCONHECIDO'
ELSE P1.OBSERVACAO END
FROM [Vivo].[dbo].[SERVICOS] S1
LEFT JOIN [Vivo].[dbo].[NUM_PARTICULAR] P1 ON P1.NUMERO = S1.CELULAR AND P1.NUM_DISCADO = S1.NUMERO_CHAMADO
where RESUMO_UTLIZACAO<>'DETALHAMENTO DE UTILIZAÇÃO: Vivo S.A.' AND S1.CELULAR = '6291080484' and RefDate='01/08/2015'
GROUP BY S1.CELULAR, RESUMO_UTLIZACAO, P1.OBSERVACAO, S1.NUMERO_CHAMADO, S1.TARIFA, S1.HORA_INICIO, S1.DURACAO02, DATA, S1.PLANO_CELULAR, DURACAO
ORDER BY S1.NUMERO_CHAMADO
Vanessa

Vanessa

Responder

Posts

18/11/2015

Marcos P

Sempre que postar código no fórum, utilize a tag <Inserir Código>... isso facilita muito a leitura.

Tentou usar DISTINCT ?

Tente assim...

SELECT DISTINCT S1.CELULAR,
                S1.RESUMO_UTLIZACAO AS DESCRICAO,
                S1.NUMERO_CHAMADO,
                S1.TARIFA,
                :
Responder

18/11/2015

Vanessa

Sempre que postar código no fórum, utilize a tag <Inserir Código>... isso facilita muito a leitura.

Tentou usar DISTINCT ?

Tente assim...

SELECT DISTINCT S1.CELULAR,
                S1.RESUMO_UTLIZACAO AS DESCRICAO,
                S1.NUMERO_CHAMADO,
                S1.TARIFA,
                :

Ja tentei de todas as maneiras, não dá certo, mas valeu pela dica
Responder

18/11/2015

Marcos P

Se o DISTINCT não resolve seu problema é JOIN.

Para cada ocorrência de SERVICOS pode existir mais de uma ocorrência em NUM_PARTICULAR ?

Se sim... mantenha o DISTINCT e elimine as colunas que podem gerar "desempate" na busca ( desse modo, o DISTINCT vai resolver ).

Senão... revise o conceito da sua query, pois o problema não está relacionado a UNION como sugere o título da query.

Se puder, crie as tabelas e coloque alguns registros no Fiddle que podemos simular o problema lá...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar