Ir para conteúdo
CamilaLopez

Trazer registros repetidos de 3 colunas na mesma tabela

Recommended Posts

Tenho uma tabela com dados de vale transporte dos meus funcionários da empresa:

nome ! valor1 ! valor2 ! valor3

teste1 ! 6.50 ! 0.00 ! 0.00
teste2 ! 4.30 ! 2.80 ! 1.10
teste3 ! 8.40 ! 1.10 ! 0.00
teste4 ! 2.85 ! 1.10 ! 0.00

onde é possível o funcionário pegar até 3 linhas de ônibus para vir ao trabalho, por isso tenho estas três colunas.

O problema que estou passando é o seguinte, quero retornar os dados das três colunas sem repetição, onde eu tenha todos valores de linhas de ônibus dos funcionários.

Preciso que me retorne se possível em uma única coluna os dados sem repetir, sem valores '0.00' e ordenado ascendente :

resultado

1.10
2.80
2.85
4.30 
6.50 
8.40

Compartilhar este post


Link para o post
Compartilhar em outros sites

--unindo os valores
 

select valor1 valor from tabela
union all
select valor2 valor from tabela
union all
select valor3 valor from tabela

 

 

--tratando como uma tabela
 

select distinct valor
from
(
select valor1 valor from tabela
union all
select valor2 valor from tabela
union all
select valor3 valor from tabela
)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Eduardo Pereira de Barros
      Boa tarde,
       
      Tenho o seguinte problema.
       
      Faço um requisição em um webservice, me retorna como string dados igual arquivo bacário.
       
       
      Atraves do strpos no PHP eu verifico se nesse retorno ha o seguinte conteúdo: "HA MAIS REGISTROS A ENVIAR".
       
      Se houver preciso reenviar esse bloco para a função de reconsulta afim de trazer novos registros.
       
      Enviando esse primeiro bloco eu recebo um novo, se esse bloco vier também com o conteúdo : "HA MAIS REGISTROS A ENVIAR", preciso pegar somente esse que retornou e reenviar para a função de reconsulta.
       
       
      Ai que está o problema, pois não estou conseguindo isolar somente a última requisição, ele está enviando os dois blocos resultantes e não apenas o último.
       
      A regra é "SEMPRE ENVIAR O ÚLTIMO BLOCO RESULTANTE PARA RECEBER MAIS REGISTROS".
       
      Ja tente com while strpos porem sempre acaba enviando tudo.
       
      Esse foi a última ganbiarra, mas não está rolando.
       
       
      $output = self::curlSerasa($id, $doc, $tipo, $adicionais, $uf); if(strpos($output, 'HA MAIS REGISTROS A ENVIAR') !== false) { $arr = []; $arr[0] = $output; $i=1; while(true) { $arr[$i] = self::curlSerasaContinua($arr[0], $produto->logon, $produto->senha); $proximo = $arr[$i-1]; if(strpos($proximo, 'HA MAIS REGISTROS A ENVIAR') !== false) { $arr[$i] = self::curlSerasaContinua($arr[$i-1], $produto->logon, $produto->senha); $output .= $arr[$i]; } elseif(strpos($arr[$i], 'PROCESSO ENCERRADO NORMALMENTE') !== false) { break; } $i++; } }  
    • Por subplo
      Bom dia, pessoal,
       
      Tenho um projeto em Laravel 5.x e queria gerar PDF de um Blade já customizado em CSS.
       
      Tentei fazer com o DomPDF, porém ele não interpreta o CSS da mesma forma que aparece na página do sistema, parece que ainda não há suporte para tal.
       
      Alguma sugestão?
       
      Agradeço desde já a colaboração de todos, fico no aguardo.
    • Por artur0407
      Boa noite;
       
      Estou realizando testes com a biblioteca PDO para banco de dados com PHP;
      Logo de inicio estou realizando minha conexão com o banco utilizando um código simples nativo da biblioteca.
      No entanto, mesmo errando o código propositalmente e tendo setado todos os possíveis erros e tratando com o bloco "try catch" o php não me retorna erro de nenhuma forma.
       
      Abaixo ambos os códigos;
       
      Primeiro sem erros:
      <?php ini_set('display_errors',true); ini_set('display_startup_erros',1); error_reporting(E_ALL); $username = 'root'; $password = ''; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_CASE => PDO::CASE_NATURAL, PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING, PDO::ATTR_PERSISTENT => true ]; try { $conn = new PDO('mysql:host=localhost; dbname=test', $username, $password, $options); $conn->exec("set names utf8"); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } ?> Posteriormente com erro proposital (na string de conexão da classe PDO)
      <?php ini_set('display_errors',true); ini_set('display_startup_erros',1); error_reporting(E_ALL); $username = 'root'; $password = ''; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_CASE => PDO::CASE_NATURAL, PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING, PDO::ATTR_PERSISTENT => true ]; try { $conn = new PDO('mysql:hst=localhost; dbname=test', $username, $password, $options); $conn->exec("set names utf8"); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } ?> Observem que no construtor do pdo, no lugar de host escrevi 'hst' e o php não retorna erros!
       
      Como sou novo aqui, me desculpem algum erro de formatação na mensagem, obrigado!
    • Por zlDeath
      Então voltei a mexer a um projeto antigo meu, e quando fui colocar no localhost e depois que faço o login do nada começou a dar isso:
       

       
       
      Alguem sabe o que pode ser ?
       
      index.php:22
        $user = new Usuario($_SESSION["username"]);  
       
      Usuario.class.php:32
                  $this->senha = $dados['password'];  
      Config.class.php:32
       
            return self::Conectar();  
      Config.class.php:27
              self::$Connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.