none
Consultar à partir do segundo registro RRS feed

  • Pergunta

  • Ola!

    Estou fazendo uma query onde quero consultar apenas à partir do Segundo registro; tentei fazer com rownumber mas não deu certo...

    Quero fazer isso porque estou trabalhando com BulkInsert em uma coluna String, mas ele está me trazendo o cabeçalho que está no primeiro registro.

    Alguem pode me ajudar?

    quinta-feira, 18 de julho de 2013 18:25

Respostas

  • Tente utilizar "rownumber" mas, como apenas como resultado da subconsulta e não da consulta principal, como abaixo:

    select * from 
        (select ROW_NUMBER() over (order by id) as RowNum, * from minha_tabela) as MT
    where MT.RowNum > 1
    Não sei se é a solução mais elegante, mas acho que vale a pena tentar ;)

    Abs


    Alexandre Felipe Malavasi Cardoso


    sexta-feira, 19 de julho de 2013 03:32
  • Qual versão que você está utilizando no SQL Server?

    Se você estiver usando o SQL Server 2012 utilize o "OFFSET":

    SELECT * FROM MinhaTabela ORDER BY Campo OFFSET 1 ROWS 

    Importante lembrar que ao utilizar a função OFFSET, você precisa utilizar a cláusula ORDER BY.

    Se você estiver utilizando uma versão inferior ao 2012 (2008R2 até o 2005), a query que o Alexandre Felipe mandou funcionará perfeitamente.

    Abs.


    Alan Machado da Silva Lima -- Blog: http://onlywhatmatters.wordpress.com/ E-mail: amachado.slima@gmail.com Twitter: https://twitter.com/alan_xD Google Plus: https://plus.google.com/104263067416398144473/posts?tab=XX

    • Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 18 de fevereiro de 2016 18:06
    • Marcado como Resposta Marcos SJ sexta-feira, 19 de fevereiro de 2016 11:16
    sexta-feira, 19 de julho de 2013 10:45

Todas as Respostas

  • Boa noite,

    Não teria como voce tratar isso direto na sua programação?(isso se estiver sendo usado em alguma aplicação né)

    Assim voce consegue ignorar o primeiro registro só começando a acessar a partir do 2 registro.

    sexta-feira, 19 de julho de 2013 00:23
  • Tente utilizar "rownumber" mas, como apenas como resultado da subconsulta e não da consulta principal, como abaixo:

    select * from 
        (select ROW_NUMBER() over (order by id) as RowNum, * from minha_tabela) as MT
    where MT.RowNum > 1
    Não sei se é a solução mais elegante, mas acho que vale a pena tentar ;)

    Abs


    Alexandre Felipe Malavasi Cardoso


    sexta-feira, 19 de julho de 2013 03:32
  • Qual versão que você está utilizando no SQL Server?

    Se você estiver usando o SQL Server 2012 utilize o "OFFSET":

    SELECT * FROM MinhaTabela ORDER BY Campo OFFSET 1 ROWS 

    Importante lembrar que ao utilizar a função OFFSET, você precisa utilizar a cláusula ORDER BY.

    Se você estiver utilizando uma versão inferior ao 2012 (2008R2 até o 2005), a query que o Alexandre Felipe mandou funcionará perfeitamente.

    Abs.


    Alan Machado da Silva Lima -- Blog: http://onlywhatmatters.wordpress.com/ E-mail: amachado.slima@gmail.com Twitter: https://twitter.com/alan_xD Google Plus: https://plus.google.com/104263067416398144473/posts?tab=XX

    • Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 18 de fevereiro de 2016 18:06
    • Marcado como Resposta Marcos SJ sexta-feira, 19 de fevereiro de 2016 11:16
    sexta-feira, 19 de julho de 2013 10:45
  • Tente utilizar "rownumber" mas, como apenas como resultado da subconsulta e não da consulta principal, como abaixo:

    select * from 
        (select ROW_NUMBER() over (order by id) as RowNum, * from minha_tabela) as MT
    where MT.RowNum > 1
    Não sei se é a solução mais elegante, mas acho que vale a pena tentar ;)

    Abs


    Alexandre Felipe Malavasi Cardoso


    Mesmo não sendo elegante poderá ser funcional.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 19 de julho de 2013 12:54
  • Deleted
    quinta-feira, 25 de julho de 2013 21:18