none
STUFF RRS feed

  • Pergunta

  • Bom dia!!!

    Preciso usar STUFF sem fazer sub select, é possivel.

    ALTER VIEW [dbo].[VwGC323_InformacoesAdicionais_FTS] WITH SCHEMABINDING
    
    AS
    
    SELECT       dbo.GC323_InformacoesAdicionais.ID_Conteudo, 
                 STUFF((SELECT ' / ' + dbo.GC032_InformacoesAdicionais.Descricao + ' = ' + b.Valor AS "text()" 
                        FROM   dbo.GC323_InformacoesAdicionais AS b INNER JOIN
                               dbo.GC032_InformacoesAdicionais ON b.ID_InformacaoAdicicional = dbo.GC032_InformacoesAdicionais.ID
                        WHERE  dbo.GC323_InformacoesAdicionais.ID_Conteudo = b.ID_Conteudo
                        FOR XML PATH('')), 1, 3, '') AS Valores
    
    FROM         dbo.GC323_InformacoesAdicionais 
    GO
    
    Essa forma acima, é como eu sei fazer, usando sub select. Funciona perfeitamente, mas eu preciso criar Full Text Search e nao premite criar indice na view com sub select.

    Eu queria fazer sem sub select da forma abaixo, mas nao esta dando certo. Gostaria de saber se tem como fazer sem sub, ou se tem outra forma simples de transforma linhas em colunas em uma view que permita criar indice.

    ALTER VIEW [dbo].[VwGC323_InformacoesAdicionais_FTS] WITH SCHEMABINDING
    
    AS
    
    SELECT       dbo.GC323_InformacoesAdicionais.ID_Conteudo, 
                 STUFF((' / ' + dbo.GC032_InformacoesAdicionais.Descricao + ' = ' + dbo.GC323_InformacoesAdicionais.Valor AS "text()" 
                        FOR XML PATH('')), 1, 3, '') AS Valores
    
    FROM         dbo.GC323_InformacoesAdicionais INNER JOIN
                 dbo.GC032_InformacoesAdicionais ON dbo.GC323_InformacoesAdicionais.ID_InformacaoAdicicional = dbo.GC032_InformacoesAdicionais.ID
    GROUP BY     dbo.GC323_InformacoesAdicionais.ID_Conteudo
    GO
    
    Obrigado!
    quarta-feira, 21 de março de 2012 12:26

Respostas