NIK Postado Setembro 17, 2012 Denunciar Share Postado Setembro 17, 2012 (editado) Pessoal... boa tardeTrabalho com o SQLServer 2000 e o resultado de uma sentença minha está como abaixo:CODIGO - ORDEM SERVIÇO 0231 - OS12-02515 0231 - OS12-02230 0231 - OS12-04550Mas na verdade preciso que esses valores fiquem conforme abaixo:CODIGO - ORDEM SERVIÇO 0231 - OS12-02515 / OS12-02230 / OS12-04550 (ou seja todas as ordens juntas em uma linha sóAlguém sabe como isso é possível.ObrigadoNIK Editado Setembro 17, 2012 por NIK Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Setembro 19, 2012 Denunciar Share Postado Setembro 19, 2012 Bom dia NIK, Para fazer desta forma, terá que concatenar todos os dados. você poderá fazer um loop para concatenar, ou então passar o resultado para o aplicativo e implementar lá (o mais recomendado). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NIK Postado Setembro 19, 2012 Autor Denunciar Share Postado Setembro 19, 2012 Fulvio... obrigado pela resposta....Infelizmente pelo aplicativo não dá...Agora a questão de concatenar... como seria?? tem um exemplo para eu ver...ObrigadoNIK Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Setembro 19, 2012 Denunciar Share Postado Setembro 19, 2012 Então seria com um loop mesmo... Segue exemplo:DECLARE @String VARCHAR(20) DECLARE @Valor VARCHAR(1) DECLARE @Fim int SET @Valor = 'A' SET @Fim = 1 SET @String = @Valor WHILE @Fim <= 5 BEGIN SET @String = @String + @Valor SET @Fim = @Fim + 1 END select @String Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NIK Postado Setembro 20, 2012 Autor Denunciar Share Postado Setembro 20, 2012 Fulvio... belezaCara obrigado pela sentença mas ainda estou com um problema...Quando rodo para meu caso retorna o erro = Subquery returned more than 1 valuePois a minha sentença trás 3 linhas conforme coloquei abaixo e não somente uma como é seu exemplo....Nesse caso como devo fazer, pois ele não consegue setar no @valor, pois são 3 linhas de retorno.ValeuNIK Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Setembro 20, 2012 Denunciar Share Postado Setembro 20, 2012 você terá que pegar o resultado e gravar em uma temporária. Depois ir pegando os dados e concatenando (com o loop). você poderá criar um cursor para ir lendo a tabela temporária, ou criar uma coluna para controle (que acho melhor). Se tiver alguma dúvida, pode postar... :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NIK Postado Setembro 20, 2012 Autor Denunciar Share Postado Setembro 20, 2012 Fulvio... me desculpe... mas infelizmente não sei direito como fazer isso... já abusando... você não tem um modelinho de como devo implementar isso... Desde já agradeçoMuito obrigadoNIK Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Setembro 21, 2012 Denunciar Share Postado Setembro 21, 2012 Bom dia NIK, Segue exemplo: :)create TABLE #Tabela (Id INT, Dado VARCHAR(2)) INSERT INTO #Tabela VALUES (1,'AA') INSERT INTO #Tabela VALUES (2,'BB') INSERT INTO #Tabela VALUES (3,'CC') DECLARE @String VARCHAR(20) DECLARE @Fim INT SET @Fim = 1 SET @String = '' WHILE (SELECT COUNT(*)FROM #Tabela) >= @Fim BEGIN SET @String = @String + (SELECT Dado FROM #Tabela WHERE id=@Fim) SET @Fim = @Fim + 1 END select @StringOBS.: no caso do campo Id, pode-se criar um identity para facilitar o controle. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 NIK Postado Setembro 24, 2012 Autor Denunciar Share Postado Setembro 24, 2012 Fulvio... obrigado pela resposta... consegui com seus exemplos implementar minha necessidade.Muito obrigado.NIK Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Setembro 24, 2012 Denunciar Share Postado Setembro 24, 2012 De nada... :) Precisando estamos ai. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 leoferrareto Postado Setembro 12, 2014 Denunciar Share Postado Setembro 12, 2014 SELECT @Variavel= Coalesce(@Variavel+'/','') + Coluna from Tabela; tenta uma coisa como isso acima Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
NIK
Pessoal... boa tarde
Trabalho com o SQLServer 2000 e o resultado de uma sentença minha está como abaixo:
CODIGO - ORDEM SERVIÇO
0231 - OS12-02515
0231 - OS12-02230
0231 - OS12-04550
Mas na verdade preciso que esses valores fiquem conforme abaixo:
CODIGO - ORDEM SERVIÇO
0231 - OS12-02515 / OS12-02230 / OS12-04550 (ou seja todas as ordens juntas em uma linha só
Alguém sabe como isso é possível.
Obrigado
NIK
Editado por NIKLink para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.