Inserir Valore de Inner Join em um campo
08/04/2005
0
Amigos, estou com a seguinte dificuldade:
Possua a
[b:311915c629]Tabela A[/b:311915c629]
Codigo Grupo
1 Frutas
2 Legumes
[b:311915c629]Tabela B[/b:311915c629]
Codigo Relaciona Descricao
1 1 Banana
1 1 Uva
1 2 Beterraba
1 1 Tomate
O que preciso é que exista uma Tabela C da seguinte forma:
[b:311915c629]TABELA C[/b:311915c629]
Codigo Grupo Descrição
1 Frutas Banana - Uva
2 Legumes Beterraba - Tomate
Terei que criar alguma procedure..alguém poderia ajudar-me, não possuo nenhum conhecimento de procedure....
Fico grato desde já !
Abs,
Marcos
Possua a
[b:311915c629]Tabela A[/b:311915c629]
Codigo Grupo
1 Frutas
2 Legumes
[b:311915c629]Tabela B[/b:311915c629]
Codigo Relaciona Descricao
1 1 Banana
1 1 Uva
1 2 Beterraba
1 1 Tomate
O que preciso é que exista uma Tabela C da seguinte forma:
[b:311915c629]TABELA C[/b:311915c629]
Codigo Grupo Descrição
1 Frutas Banana - Uva
2 Legumes Beterraba - Tomate
Terei que criar alguma procedure..alguém poderia ajudar-me, não possuo nenhum conhecimento de procedure....
Fico grato desde já !
Abs,
Marcos
Marcos.rio
Curtir tópico
+ 0
Responder
Posts
12/04/2005
Eduardo.padilha
Ola Marcos.
A principio vc precisa saber como criar store_Procedure e cursores.
Procure dentro do Forum q existe exemplos:
O q vc quer a principio nao vejo uma forma de resolver a nao sendo atraves de cursores a baixo estou escrevendo um código q aparentemente resolveria teu problema.
Se nao entender algo fale.
1 - Cria-se a Procedure.
2 - Tera q usar um Cursor para guardar e concatenar resultados.
3 - Executar a Procedure BUSCA_FRUTAS.
CREATE PROCEDURE BUSCA_FRUTAS
As
DECLARE @A VARCHAR (30)
DECLARE @B VARCHAR (30)
DECLARE @AUX VARCHAR (30)
DECLARE @AUXILIAR VARCHAR (30)
DECLARE Pesquisa_Fruta CURSOR FOR
SELECT A.DESCRICAO, B.DESCRICAO FROM ALIMENTO A LEFT OUTER JOIN ALIMENTO_DESCRICAO B ON (A.COD = B.COD_DESCRICAO)
OPEN Pesquisa_Fruta
FETCH NEXT FROM Pesquisa_Fruta
INTO @A, @B
SET @AUX = @A
SET @AUXILIAR = ´´
WHILE @@FETCH_STATUS = 0
BEGIN
IF (@AUX <> @A) BEGIN
PRINT @AUX + @AUXILIAR
SET @AUXILIAR = ´´
SET @AUX = @A
END
SET @AUXILIAR = (@AUXILIAR + ´ ´ + @B)
FETCH NEXT FROM Pesquisa_Fruta
INTO @A, @B
END
PRINT @AUX + @AUXILIAR
CLOSE Pesquisa_Fruta
DEALLOCATE Pesquisa_Fruta
GO
--- Resultado
FRUTAS BANANA UVA
LEGUMES BETERRABA TOMATE
---- Depois de criada, pelo query Analyse .
EXEC BUSCA_FRUTAS
Espero ter ajudado.
A principio vc precisa saber como criar store_Procedure e cursores.
Procure dentro do Forum q existe exemplos:
O q vc quer a principio nao vejo uma forma de resolver a nao sendo atraves de cursores a baixo estou escrevendo um código q aparentemente resolveria teu problema.
Se nao entender algo fale.
1 - Cria-se a Procedure.
2 - Tera q usar um Cursor para guardar e concatenar resultados.
3 - Executar a Procedure BUSCA_FRUTAS.
CREATE PROCEDURE BUSCA_FRUTAS
As
DECLARE @A VARCHAR (30)
DECLARE @B VARCHAR (30)
DECLARE @AUX VARCHAR (30)
DECLARE @AUXILIAR VARCHAR (30)
DECLARE Pesquisa_Fruta CURSOR FOR
SELECT A.DESCRICAO, B.DESCRICAO FROM ALIMENTO A LEFT OUTER JOIN ALIMENTO_DESCRICAO B ON (A.COD = B.COD_DESCRICAO)
OPEN Pesquisa_Fruta
FETCH NEXT FROM Pesquisa_Fruta
INTO @A, @B
SET @AUX = @A
SET @AUXILIAR = ´´
WHILE @@FETCH_STATUS = 0
BEGIN
IF (@AUX <> @A) BEGIN
PRINT @AUX + @AUXILIAR
SET @AUXILIAR = ´´
SET @AUX = @A
END
SET @AUXILIAR = (@AUXILIAR + ´ ´ + @B)
FETCH NEXT FROM Pesquisa_Fruta
INTO @A, @B
END
PRINT @AUX + @AUXILIAR
CLOSE Pesquisa_Fruta
DEALLOCATE Pesquisa_Fruta
GO
--- Resultado
FRUTAS BANANA UVA
LEGUMES BETERRABA TOMATE
---- Depois de criada, pelo query Analyse .
EXEC BUSCA_FRUTAS
Espero ter ajudado.
Responder
Clique aqui para fazer login e interagir na Comunidade :)