Dados duplicados em uma consulta SQL
30/06/2016
0
Olá pessoal,
Eu estou fazendo uma consulta onde uso duas tabelas diferentes, e traz quando o atendimento iniciou, e quando foi transferido.
Quando retorna o resultado da consulta, ele traz o mesmo atendimento duas vezes. Porém isso só acontece se ele foi transferido mais de uma vez.
Queria saber se tem como trazer apenas o máximo do transferido.
SELECT DISTINCT
FROM tab1 c
LEFT JOIN tab2 t ON c.atendimento = t.atendimento --Numero do atendimento
WHERE c.criado BETWEEN '2016-06-25 00:00:00' AND '2016-06-25 23:59:59'
ORDER BY c.chamado
Desde já Obrigado galera
Eu estou fazendo uma consulta onde uso duas tabelas diferentes, e traz quando o atendimento iniciou, e quando foi transferido.
Quando retorna o resultado da consulta, ele traz o mesmo atendimento duas vezes. Porém isso só acontece se ele foi transferido mais de uma vez.
Queria saber se tem como trazer apenas o máximo do transferido.
SELECT DISTINCT
FROM tab1 c
LEFT JOIN tab2 t ON c.atendimento = t.atendimento --Numero do atendimento
WHERE c.criado BETWEEN '2016-06-25 00:00:00' AND '2016-06-25 23:59:59'
ORDER BY c.chamado
Desde já Obrigado galera
Joao Junior
Curtir tópico
+ 0
Responder
Post mais votado
30/06/2016
boa tarde tente assim .
SELECT DISTINCT
MAX(c.dt_transferencia) as data_tranferencia
FROM tab1 c
LEFT JOIN tab2 t ON c.atendimento = t.atendimento --Numero do atendimento
WHERE c.criado BETWEEN ''''2016-06-25 00:00:00'''' AND ''''2016-06-25 23:59:59''''
group by campos
ORDER BY c.chamado
SELECT DISTINCT
MAX(c.dt_transferencia) as data_tranferencia
FROM tab1 c
LEFT JOIN tab2 t ON c.atendimento = t.atendimento --Numero do atendimento
WHERE c.criado BETWEEN ''''2016-06-25 00:00:00'''' AND ''''2016-06-25 23:59:59''''
group by campos
ORDER BY c.chamado
Isaac Jose
Responder
Mais Posts
30/06/2016
Joao Junior
Olá Isaac,
Infelizmente não foi, ficou da seguinte forma:
SELECT DISTINCT c.chamado, c.criado, c.fila, c.criado_por, MAX(t.dt_transferido) AS transferido, t.fila_destino, t.quem_transferiu, f.resolvido
FROM tab1 c
LEFT JOIN tab2 t ON c.chamado = t.chamado
LEFT JOIN tab3 f ON c.chamado = f.chamado
WHERE c.criado BETWEEN ''''''''2016-06-25 00:00:00'''''''' AND ''''''''2016-06-25 23:59:59''''''''
GROUP BY c.chamado, c.criado, c.fila, c.criado_por, t.transferido, t.fila_destino, t.quem_transferiu
Os dados continuam duplicados, não sei se tem diferença mais os dados duplicados tem o valor de destino diferente.
Infelizmente não foi, ficou da seguinte forma:
SELECT DISTINCT c.chamado, c.criado, c.fila, c.criado_por, MAX(t.dt_transferido) AS transferido, t.fila_destino, t.quem_transferiu, f.resolvido
FROM tab1 c
LEFT JOIN tab2 t ON c.chamado = t.chamado
LEFT JOIN tab3 f ON c.chamado = f.chamado
WHERE c.criado BETWEEN ''''''''2016-06-25 00:00:00'''''''' AND ''''''''2016-06-25 23:59:59''''''''
GROUP BY c.chamado, c.criado, c.fila, c.criado_por, t.transferido, t.fila_destino, t.quem_transferiu
Os dados continuam duplicados, não sei se tem diferença mais os dados duplicados tem o valor de destino diferente.
Responder
01/07/2016
Isaac Jose
então esse valor de destino que esta te atrapalhando, precisa fazer algo com ele. mais por hora so tira o campo pra ver o resultado sem duplicidade.
Responder
Clique aqui para fazer login e interagir na Comunidade :)