none
Juntar dois campo de uma tabela em um só. RRS feed

  • Pergunta

  • Pessoal, preciso alterar uma tabela juntando dois campos em um unico. por exemplo :

    Tenho o campo ID e o campo descrição como exemplo abaixo :

    ID           Descricao
    0001      Caixa de Papel
    0002      Caixa de Lapis

    preciso que no campo descrição junte com o valor de ID..

    ID           Descricao
    0001      0001Caixa de Papel
    0002      0002Caixa de Lapis

    é possivel fazer isso?

    terça-feira, 16 de fevereiro de 2016 11:31

Respostas

  • Acho que isso resolve

    UPDATE [TABELA] SET DESCRICAO = (cast(ID as varchar) + cast(DESCRICAO as varchar))
    


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Marcos SJ terça-feira, 16 de fevereiro de 2016 13:59
    terça-feira, 16 de fevereiro de 2016 12:39

Todas as Respostas

  • Bom dia,

    Samuel, acho que se for possível seria melhor fazer isso na aplicação, mas de qualquer forma você pode tentar mais ou menos da seguinte forma, considerando que o tipo de dados da coluna Id é numérico:

    select
        Id,
        cast(Id as varchar) + Descricao as Descricao
    from Tabela

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 16 de fevereiro de 2016 11:59
  • Bom dia Samuel,

    é bem simples:

    select (cast(ID as varchar) + cast(DESCRICAO as varchar)) as CONCATENADO from [TABELA]

    Abraços.

    terça-feira, 16 de fevereiro de 2016 12:01
  • Obrigado, mas o que eu quero não é exibir, é alterar mesmo o valor do campo no banco de dados.

    é possível fazer?

    terça-feira, 16 de fevereiro de 2016 12:10
  • Samuel, você tem certeza que quer fazer essa alteração? Porque depois vai ficar complicado para separar os valores e com eles separados é possível junta-los de forma simples.

    Se for o caso você pode adaptar a query para um Update, mas acho melhor fazer um teste com a query primeiro para verificar se vai ficar da forma desejada:

    update Tabela
    set Descricao = cast(Id as varchar) + Descricao

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 16 de fevereiro de 2016 12:34
  • Acho que isso resolve

    UPDATE [TABELA] SET DESCRICAO = (cast(ID as varchar) + cast(DESCRICAO as varchar))
    


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Marcos SJ terça-feira, 16 de fevereiro de 2016 13:59
    terça-feira, 16 de fevereiro de 2016 12:39
  • Muito Obrigado, era isso msm!!!
    terça-feira, 16 de fevereiro de 2016 12:53
  • Pra ajudar, você pode montar uma Trigger pra sempre que haja um UPDATE ou um INSERT o campo Descrição seja atualizado com os dados do ID e Descrição.

    Segue código que fiz aqui

      CREATE TRIGGER AlteraDescricao
      ON MinhaTable
      AFTER INSERT,UPDATE AS
      IF UPDATE(Descricao)
    	BEGIN
    	UPDATE MinhaTable set Descricao=CONCAT(ID,Descricao) WHERE ID=(SELECT ID FROM INSERTED)
    	END
      GO

    Nessa função T-SQL Concat é possível passar os parâmetros e ela retornará a string concatenada.

    Espero ter ajudado.

    {}'s

    **Não esqueça de marcar as respostas úteis. ;)


    terça-feira, 16 de fevereiro de 2016 13:06