Pular para o conteúdo
Visualizando 13 posts - 1 até 13 (de 13 do total)
  • Autor
    Posts
  • #87536
    Avatar de Tiago_BBTiago_BB
    Participante

      Ola pessoal.

      Estou com um problema em ordenação de dados no SQL.

      Vamos supor que tenho o seguinte resultado em um select da minha tabela:

      CODIGO DATA
      ———– ——-
      00003 03/06
      00005 04/06
      00006 05/06
      00003 04/06
      00001 05/06

      Coloquei em ordem crescente por DATA.

      Porém gostaria de fazer com que tal select me retorne em ordem de DATA e CODIGO, gostaria que me retornasse da seguinte forma:

      CODIGO DATA
      ———– ——-
      00003 03/06
      00003 04/06
      00005 04/06
      00006 05/06
      00001 05/06

      Alguém tem alguma sugestão?

      Agradeço desde ja!!!

      #87538
      Avatar de Rodrigo MesquitaRodrigo Mesquita
      Participante

        order by CODIGO,DATA

        #87542
        Avatar de Tiago_BBTiago_BB
        Participante

          Ja tentei ordenando por CODIGO e DATA.

          Porém ele ordena primeiro pelo codigo.

          Com isso caso eu tenha um CODIGO 00008 = 01/06 e outro CODIGO 00006 = 03/06 ele exibe primeiro o 00008 e depois o 00006.

          Atte.

          #87546
          Anônimo

            Olá,

            Os campos CODIGO e DATA estão definidos com qual tipo de dados?

            #87547
            Avatar de Tiago_BBTiago_BB
            Participante

              numeric (5) e numeric (6) respectivamente.

              #87548
              Avatar de Regis AraujoRegis Araujo
              Participante

                Ola Tiago..

                já tentou colocar o “order by CODIGO , DATA ASC ” ??

                Abraços…

                #87549
                Avatar de Tiago_BBTiago_BB
                Participante

                  Ja tentei.. mais cai no mesmo caso…

                  Ele ordena pelo CODIGO.. e a data nao fica em ordem crescente!!!

                  #87550
                  Anônimo

                    Olá,

                    Poderia postar a instrunção de insert desta tabela?

                    #87553
                    Avatar de Tiago_BBTiago_BB
                    Participante

                      Na realidade uso várias tabelas no meu select..

                      Fiz esse exemplo acima para exemplificar o ocorrido!!!

                      #87554
                      Avatar de Rodrigo MesquitaRodrigo Mesquita
                      Participante

                        faça um to_date no campo da data, depois ordene normalmente

                        #87555
                        Avatar de David SiqueiraDavid Siqueira
                        Participante

                          É isso que vc precisa ???:

                          Testedb.System> insert into teste values(11111,010109);

                          1 linha criada.

                          Testedb.System> insert into teste values(22222,020109);

                          1 linha criada.

                          Testedb.System> insert into teste values(33333,030109);

                          1 linha criada.

                          Testedb.System>
                          Testedb.System> commit;

                          ValidaþÒo completa.

                          Testedb.System> select * from teste order by a,b asc;

                               A          B
                          

                           11111      10109
                           22222      20109
                           33333      30109
                          

                          3 linhas selecionadas.

                          Testedb.System>

                          Abraço.

                          #87558
                          Avatar de Marcio68AlmeidaMarcio68Almeida
                          Participante

                            Você quer ordenar primeiro por data e depois código, certo ???
                            Não me lembro, mas acho que tem alguma função para transformar a data em ano+mes+dia, use essa função na clausula Order By

                            #87561
                            Anônimo

                              Olá,

                              Eu acho que a função que o Marcio citou é essa:

                              DATEPART( )
                              Retorna a parte específica de uma data ou de uma coluna datetime, incluindo o dia, mês, ou ano.

                              use pubs
                              go

                              SELECT cast(DATEPART(day, hire_date)as varchar) + ‘/’ + cast(DATEPART(month, hire_date)as varchar) +
                              ‘/’ + cast(DATEPART(year, hire_date) as varchar)
                              FROM employee
                              go

                              Abraços

                            Visualizando 13 posts - 1 até 13 (de 13 do total)
                            • Você deve fazer login para responder a este tópico.
                            plugins premium WordPress