Array
(
)

Unir 2 tabelas com like

Marcelo
   - 05 jul 2010

Olá amigos estou precisando unir 2 tabelas usando o like será que tem jeito ?? Obs: estas tabelas não tem chaves para ser relacionadas.   Muito obrigado.

Wilson Paulista...!!!
   - 05 jul 2010

Poderia explicar um pouco melhor a sua dúvida. De algum exemplo.

0
|
0

Marcelo
   - 05 jul 2010

Vou tentar explicar melhor tenho uma TB1 que guarda os nomes e outra TB2 que tem um campo text, tenho que ler a TB1 pesquisando com o like na TB2 , a rotina funciona mas é muito lenta estou tentando usar esta consulta, mas não esta dando certo

select TB1.descricaotxt,TB2.descricao memo from
Nometxt TB1 left join tmplj TB2 on TB2.descricao like '%'+TB1.descricaotxt+'%'   obs: TB2.descricao é o campo text

0
|
0

Rafael Oliveira
   - 05 jul 2010

Quais os campos chaves dessas tabelas?

0
|
0

Marcelo
   - 05 jul 2010

As tabelas não tem relacionamentos, mas consegui fazer a consulta que queria, mas quando dou o open da query esta demorando muito para abrir, vou te monstrar o minha query, se vc tiver alguma fica para ficar mais rapida agradeço.   query.Close; query.SQL.Clear;
query.SQL.Add('select distinct TB1.codigocli,TB1.codigonome,TB2.descricaotxt,TB3.codigo from '+      'ClienteNome TB1 inner join Nometxt TB2 on TB1.codigonome = TB2.codigonome '+
'left join tmplj TB3 on TB3.descricao like ''%''+(RTRIM(TB2.descricaotxt))+''%'' '+
'inner join ClienteServ2 TB4 on TB1.codigoserv = TB4.codigoserv '+
'where TB3.descricao is not null and TB4.status = ''A'' and TB1.codigoserv = :wserv '+
'and TB3.rodagem = :wrodagem order by TB3.codigo');
query.ParamByName('wserv').AsString := copy(combobox1.Text,1,3);
query.ParamByName('wrodagem').AsString := edit5.text;
query.Prepare;
query.Open;

0
|
0

Rafael Oliveira
   - 05 jul 2010

Voce poderia usar uma subquery após um WHERE.

Ex.:
select a.desc
from TB1 a
where a.campo_desc in (select b.desctxt from TB2 b)

0
|
0