none
Consulta com sequencia variável RRS feed

  • Pergunta

  • Olá pessoal

     

    Tenho uma view assim

     

    Categoria     Produto

    Laticínios     Queijo

    Laticínios     Leite

    Carnes         Picanha

    Carnes        Alcatra

    Carnes        Maminha

     

    Tem como fazer assim ?

     

    CodigoCat     Categoria            Produto       Posicao
    LAT              Laticínios            Queijo         1
    LAT              Laticínios            Leite           2
    CAR             Carnes               Picanha       1
    CAR             Carnes               Alcatra         2
    CAR             Carnes               Maminha      3

     

    quarta-feira, 30 de abril de 2008 23:42

Respostas

  • Boa Noite,

     

    Tente fazer o seguinte:

     

    Code Snippet

    CREATE TABLE #tblTeste (CodigoCat CHAR(3), Categoria VARCHAR(50), Produto VARCHAR(50))

     

    INSERT INTO #tblTeste (CodigoCat, Categoria, Produto) VALUES ('LAT','Laticínios','Queijo')

    INSERT INTO #tblTeste (CodigoCat, Categoria, Produto) VALUES ('LAT','Laticínios','Leite')

    INSERT INTO #tblTeste (CodigoCat, Categoria, Produto) VALUES ('CAR','Carnes','Picanha')

    INSERT INTO #tblTeste (CodigoCat, Categoria, Produto) VALUES ('CAR','Carnes','Alcatra')

    INSERT INTO #tblTeste (CodigoCat, Categoria, Produto) VALUES ('CAR','Carnes','Maminha');

     

    WITH CONSULTA (CodigoCat, Categoria, Produto, Pos) AS (

    SELECT CodigoCat, Categoria, Produto, ROW_NUMBER() OVER (PARTITION BY Categoria ORDER BY Produto)

    FROM #tblTeste)

     

    SELECT CodigoCat, Categoria, Produto, Pos FROM Consulta

     

    DROP TABLE #tblTeste

     

     

    Nesse exemplo copiei os dados para uma tabela temporária apenas para representar sua tabela (não é preciso copiar os dados para uma tabela temporária).

     

    Apliquei a função Row_Number com Partition By para criar o efeito do seqüencial. No entanto, não consegui reproduzir a ordem que você tem. Deve haver alguns outros campos que você deseje contemplar no Order By

     

    [ ]s,

     

    Gustavo

    quarta-feira, 30 de abril de 2008 23:59