Fórum WMO: Como Posso Concatenar Campos - Fórum WMO

Ir para

Página 1 de 1
  • Novo tópico
  • Responder
  • Ícone  Compartilhar

Como Posso Concatenar Campos Gostaria de saber como concatenar campos de 2 tabelas diferentes

#1 Membro offline   Cemillen 

  • Novato no fórum
  • Ícone
  • Grupo: Usuários
  • Posts: 2
  • Cadastrado: 29/05/2009
  • Sexo:Não informado
Pontos: 0
Neutral

Postou 29/05/2009, 19:13

Boa noite pessoALL

Este é meu primeiro post, pois acabei de conhecer o forum.

Sou analista de Sistemas, e trabalho com microsiga.

Estes dias surgiu 1 necessidade e não estou conseguindo realizar a query no sql server 2005, envolvendo 2 tabelas. abaixo vou explicar com exemplos o meu problema.

Tabela 1
campos : Codigo, Nome, descresumida, descdetalhada

conteudo do campo

codigo = '000001'
nome = 'Christian'
descresumida = 'problema na fonte da impressora'
descdetalhada = '000100'


Tabela 2
campos: codigo, item, descricao

conteudo do campo

codigo = '000100'
item = '001'
descricao = 'o fusivel está com problemas, deveremos fazer a remoção para'

codigo = '000100'
item = '002'
descricao = 'a impressora voltar a funcionar'

Ai que está meu problema, não estou conseguindo realizar a query na tabela 1, trazendo no lugar do codigo do campo descdetalhada, a concatenização do campo descricao da tabela 2

Teria como realizar esta query ?


Desde já agradeço a atenção de todos que pelo menos leram meu tópico.


Sem mais


Christian


"Quando pensei que sabia todas as respostas, veio a vida e mudou todas as perguntas"
gostaria de fazer 1 query na tabela
0

#2 Membro offline   Aimberê Rocha Mendonça 

  • Turista
  • Ícone
  • Grupo: Usuários
  • Posts: 45
  • Cadastrado: 10/01/2008
  • Sexo:Masculino
Pontos: 0
Neutral

Postou 01/06/2009, 16:36

boa tarde amigo,
não entendi bem o que vc quis dizer com concatenar.
select t1.Codigo, t1.Nome, t1.descresumida, t2.descricao
    from Tabela_1 t1
          inner join Tabela_2 t2 on t1.descdetalhada = t2.codigo


se for isso, acho que o nome certo não é concatenar, na verdade estamos fazendo uma intercecção das tabelas atraves da descdetalhada.

concatenar seria assim ao meu ver

select t1.Codigo, t1.Nome, t1.descresumida, cast(t2.descricao as varchar(MAX))+cast(t1.descdetalhada as varchar(MAX))
    from Tabela_1 t1
          inner join Tabela_2 t2 on t1.descdetalhada = t2.codigo


abrass.
espero ter ajudado.
Aimberê Rocha Mendonça
IT Analyst and Developer
0

#3 Membro offline   Cemillen 

  • Novato no fórum
  • Ícone
  • Grupo: Usuários
  • Posts: 2
  • Cadastrado: 29/05/2009
  • Sexo:Não informado
Pontos: 0
Neutral

Postou 02/06/2009, 09:54

Boa tarde

os exemplos que voce postou, me retornaria sempre 2 linhas

primeiro exemplo

1ª linha

t1.Codigo = '000001'
t1.Nome = 'Christian'
t1.descresumida = 'problema na fonte da impressora'
t2.descricao = 'o fusivel está com problemas, deveremos fazer a remoção para''

2ª linha
t1.Codigo = '000001'
t1.Nome = 'Christian'
t1.descresumida = 'problema na fonte da impressora'
t2.descricao = 'a impressora voltar a funcionar''

segundo exemplo


1ª linha

t1.Codigo = '000001'
t1.Nome = 'Christian'
t1.descresumida = 'problema na fonte da impressora'
t2.descricao = 'o fusivel está com problemas, deveremos fazer a remoção para00001''

2ª linha
t1.Codigo = '000001'
t1.Nome = 'Christian'
t1.descresumida = 'problema na fonte da impressora'
t2.descricao = 'a impressora voltar a funcionar000002''


O que eu queria pegar era a concatenação de todas as descrição da tabela 2, que fosse igual a tabela 1

exemplo do que eu queria mesmo

Codigo = '000001'
Nome = 'Christian'
descresumida = 'problema na fonte da impressora'
descricao = 'o fusivel está com problemas, deveremos fazer a remoção para a impressora voltar a funcionar'

no campo descricao ele me retornaria toda informação que eu tenho na tabela 2.

Já tentei fazer algo semelhante, porém o sql me fala que a query2 me retorna mais de 1 linha, impossibilitando este acesso.

Atualmente, estou dando 1 volta enorme para eu resolver, faço 1 query tabela 1 com relacionamento da tabela 2, depois faço 1 while para ir lendo registro por registro para montar a tela que contem esta mensagem.

Obrigado pela ajuda, mas ainda estou de mãos atadas ^^


Christian
0

#4 Membro offline   Renan L. Queiroz 

  • Mestre
  • Ícone
  • Grupo: Usuários
  • Posts: 690
  • Cadastrado: 11/12/2007
  • Sexo:Masculino
  • Localidade:Brasilia - DF
Pontos: 18
Good

Postou 18/06/2009, 12:25

Tenta isso:
select t1.Codigo, t1.Nome, t1.descresumida, cast(t2.descricao as varchar(MAX)) +' '+ cast(t1.descresumida  as varchar(MAX))
from tabela_1 t1 inner join tabela_2 t2 on t1.descdetalhada = t2.codigo 
group by t1.Codigo, t1.Nome, t1.descresumida

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Imagem
0

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)