Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Duvida na sentença


NIK

Pergunta

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 NIK
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

Fulvio... beleza

Cara obrigado pela sentença mas ainda estou com um problema...

Quando rodo para meu caso retorna o erro = Subquery returned more than 1 value

Pois 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.

Valeu

NIK

Link para o comentário
Compartilhar em outros sites

  • 0

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... :)

Link para o comentário
Compartilhar em outros sites

  • 0

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 @String

OBS.: no caso do campo Id, pode-se criar um identity para facilitar o controle.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...