none
Como recuperar registros a partir de uma linha específica ? RRS feed

  • Pergunta

  • Boa tarde !
    Supondo que eu tenha os seguintes registros na tabela clientes:
    banco de dados

    Quero trazer todos os registros a partir da linha com o nome "Pietro". Seria possível fazer isso com SQL ?

    Muito obrigado.
    Abraços... :)


    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    terça-feira, 6 de março de 2012 16:01

Respostas

  • Olá Evandro,

    Teste o script abaixo, acho que pode lhe ajudar.

    CREATE TABLE #TESTE
    (
    	ID int,
    	NOME VARCHAR(20)
    )
    GO
    INSERT #TESTE VALUES(5,'Pietro Vieira'),(7,'Pietro'),(3,'Evandro Aguiar'),(8,'Joao Oliveira')
    GO
    WITH DADOS(NOME,N)
    AS
    (
       SELECT NOME, ROW_NUMBER()OVER(ORDER BY ID) N FROM #TESTE
    )
    SELECT T.* FROM #TESTE T JOIN DADOS D
    ON D.NOME = T.NOME
    WHERE D.N >= (SELECT TOP 1 N FROM DADOS WHERE NOME = 'Pietro')


    David Silva | MCITP| MCTS | MCP | ITILF | Blog: http://tilive.wordpress.com

    • Marcado como Resposta EvandroAS terça-feira, 6 de março de 2012 17:31
    terça-feira, 6 de março de 2012 16:55

Todas as Respostas

  • Olá Evandro,

    Teste o script abaixo, acho que pode lhe ajudar.

    CREATE TABLE #TESTE
    (
    	ID int,
    	NOME VARCHAR(20)
    )
    GO
    INSERT #TESTE VALUES(5,'Pietro Vieira'),(7,'Pietro'),(3,'Evandro Aguiar'),(8,'Joao Oliveira')
    GO
    WITH DADOS(NOME,N)
    AS
    (
       SELECT NOME, ROW_NUMBER()OVER(ORDER BY ID) N FROM #TESTE
    )
    SELECT T.* FROM #TESTE T JOIN DADOS D
    ON D.NOME = T.NOME
    WHERE D.N >= (SELECT TOP 1 N FROM DADOS WHERE NOME = 'Pietro')


    David Silva | MCITP| MCTS | MCP | ITILF | Blog: http://tilive.wordpress.com

    • Marcado como Resposta EvandroAS terça-feira, 6 de março de 2012 17:31
    terça-feira, 6 de março de 2012 16:55
  • Olá Evandro,

    Teste o script abaixo, acho que pode lhe ajudar.

    CREATE TABLE #TESTE
    (
    	ID int,
    	NOME VARCHAR(20)
    )
    GO
    INSERT #TESTE VALUES(5,'Pietro Vieira'),(7,'Pietro'),(3,'Evandro Aguiar'),(8,'Joao Oliveira')
    GO
    WITH DADOS(NOME,N)
    AS
    (
       SELECT NOME, ROW_NUMBER()OVER(ORDER BY ID) N FROM #TESTE
    )
    SELECT T.* FROM #TESTE T JOIN DADOS D
    ON D.NOME = T.NOME
    WHERE D.N >= (SELECT TOP 1 N FROM DADOS WHERE NOME = 'Pietro')


    David Silva | MCITP| MCTS | MCP | ITILF | Blog: http://tilive.wordpress.com

    Muito obrigado. Criei uma view com os dados que preciso e estou utilizando o script:

    WITH DADOS(NOME,N)
    AS
    (
       SELECT NOME, ROW_NUMBER()OVER(ORDER BY ID) N FROM #TESTE
    )
    SELECT T.* FROM #TESTE T JOIN DADOS D
    ON D.NOME = T.NOME
    WHERE D.N >= (SELECT TOP 1 N FROM DADOS WHERE NOME = 'Pietro')

    Para retornar a partir do registro que preciso.

    Abraços...


    Evandro Aguiar
    http://wta3.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    terça-feira, 6 de março de 2012 17:32