Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fbonline

Agrupando Results em um Campo SQL !

Recommended Posts

Pessoal estou precisando de ajuda de verdade:

Preciso criar uma sql que me resulte os textos dos produtos em um mesmo tipo:

 

segue a estrutura da tabela produtos:

 

 

TABELA PRODUTOS

Prod_ID	  Prod_Nome
119	  Desengraxante 
145	  Desinfetante

TABELA TEXTOS_PRODUTOS


ProdC_ID	ProdC_Tipo	ProdC_Produto	          ProdC_Img             ProdC_Texto
3447	                 1	          119	           foto.JPG	            TEXTO1
3448	                 3	          119	 	                            TEXTO2
3607	                 1	          145	 	                            TEXTO3
3608	                 2	          145	 	                            OUTROTEXTO
5096	                 2	          119	            foto1.JPG	            MAISUMTEXTO
5097	                 2	          119	            foto2.JPG	            TEXTO4
5098	                 3	          119	 	    foto3.JPG               TEXTO5
5103	                 4	          119	 	                            TEXTO6


Eu preciso que a result  da SQL fique assim estou usando o 2000

Produto   Nome             Conteudo_Tipo1       Conteudo_Tipo2                            Conteudo_Tipo3   

119       Desengraxante    foto.JPG,TEXTO1      foto1.JPG,MAISUMTEXTO,foto2.JPG,TEXTO4       foto3.JPG,TEXTO5

 

Por Favor estou precisando muito de uma ajuda.

Já tentei muita coisa mas não consigo o resultado acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal estou conseguindo quase:

 

olha a sql que estou usando porém ela esta me resultando os caracteres do texto todos confusos acredito que é por causa do PATH xml

Select Distinct A.ProdC_Produto, A.ProdC_Tipo, Left(B.Lista, Len(B.Lista) - 1) as Lista
 From EC_ProdConteudo A
      Outer Apply (Select cast(ProdC_Texto as varchar(max))  
                     From EC_ProdConteudo 
                    Where A.ProdC_Produto = ProdC_Produto 
                      And A.ProdC_Tipo = ProdC_Tipo 
                      For XML PATH ('registro')) B(LISTA)                       
where ProdC_Produto = 119

Como posso arrumar?

 

Pessoal agora precisei usar o join mas deu erro:

 

Select
 EC_Produtos.Prod_ID,
 EC_Produtos.Prod_Nome,
 EC_ProdConteudo.ProdC_Produto,
 EC_ProdConteudo.ProdC_Tipo,  
 TEXTO = (Select Distinct A.ProdC_Produto, A.ProdC_Tipo, Left(B.Lista, Len(B.Lista) - 1) as Lista
 From EC_ProdConteudo A
      Outer Apply (Select cast(A.ProdC_Texto as varchar(max))  
                     From EC_ProdConteudo C 
                    Where A.ProdC_Produto = C.ProdC_Produto 
                      And A.ProdC_Tipo = C.ProdC_Tipo 
                      For XML PATH ('registro')) B(LISTA)                       
where ProdC_Produto = 119)

From
 EC_Produtos Inner Join
 EC_ProdConteudo On EC_Produtos.Prod_ID = EC_ProdConteudo.ProdC_Produto  
where 
EC_Produtos.Prod_ID = 119
and
EC_ProdConteudo.ProdC_Tipo = 2

 

Alguem poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara já que os campos são strings e pelo visto o numero de colunas(Conteudo_Tipo) sera dinâmico...

A melhor maneira é criando uma procedure mesmo...

 

=S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma function que fazendo um cursor com base na chave, montasse e retornasse uma string.

 

Exemplos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.