Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mavie19tankian

Como fazer SUBSELECT com INNER JOIN?

Recommended Posts

É o seguinte, estou com uma problema sério! Tem um banco de dados chamado SETMAN do qual eu executo o select de uma tabela chamada "demandas_real" e me traz todas as informações que eu quero perfeitamente deste campo "sOTRS":

 

select [sOTRS] from [s1216].[sETMAN].[dbo].[demandas_real] where [sOTRS] is NOt null

 

Ele puxa todas as OTRS não nulas dessa tabela! Mas existem OTRS's separadas por vírgulas! (eu nao consegui colar a imagem da query aqui aff)

Segue ai o exemplo da consulta obtida com esse select:

0114810
0123876
0119163
0120391
0117435
0117311
0117646
0117222, 0121414
0110753, 0114102
0118042, 0120235
0120223, 0121360
0112606
0114603

 

Só que eu estou usando outro banco agora, chamado OTRS, e nesse banco eu faço INNER JOIN de "demandas_real" do banco SETMAN com a tabela "ticket" do banco OTRS! O campos "sOTRS" e "tn" correspondem aos mesmos valores!

Só que na hora que faço esse select o campo "tn" só puxa as OTRSs que NÃO SÃO SEPARADAS POR VÍRGULA!

E eu necessito que ele puxe essas Otrs separadas por virgula!

O campo "tn" é o mesmo do campo "sOTRS", mas o campo "tn" só está armazenado nele os valores sem ser separados por virgula entendeu??? Por isso preciso fazer esse inner join pra ele trazer dessa tabela "demandas_real" todas as OTRS's separadas por virgula!

Eu usei um SUBSELECT, que seria esse select acima ai, mas ele nao traz essa consulta! O que posso fazer????

 

Me ajudem pliss!

Pq ele faz o inner join das duas tabelas, mas só traz os valores sem ser separados por virgula! '---'

SELECT * FROM (select [sOTRS] from [s1216].[sETMAN].[dbo].[demandas_real] where [sOTRS] is NOt null) AS d
INNER JOIN [OTRS].[dbo].[ticket] AS t
ON d.[sOTRS] = t.[tn]

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada a todos, o LEFT JOIN traz, mas não resolve totalmente o problema! Eu pedi ajuda ao pessoal de banco! E nem eles conseguiram resolver, porque tem merda que vai ter q ser resolvida por meio de programação!

Mas enfim, obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_instr

 

 

Me parece que vc tem um problema de modelagem , nunca é bom estas soluções de separar valores por vírgulas.

 

Functions como INSTR e o uso de UNION poderiam resolver o problema.

 

Já vi problemas parecidos aqui mesmo.

 

Mas o problema básico é a modelagem ao meu ver.

http://forum.imasters.com.br/topic/505100-group-by-varias-colunas-postgres/#entry1997478

A que SGBD esta dúvida se refere ? Sqlserver ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim é a modelagem mesmo! Pq o campo sOTRS não tme um padrão, tem varios valores separados por virgulas, e espaçamento antes da virgula, ou depois dela, ou espaço nenhum, então não tem nem como quebrar com substring! Hoje vou ver com meu chefe o que pode ser feito! O pessoal de banco aqui falou que nada pode ser feito mesmo!

Por causa desse campo, até na programação vai dar dor de cabeça!

 

Mas vlw ai a atenção de todos! :*

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.