Tem o método GetTableNameFromSQL da unit DBCommon. Mais tem casos especificos que não funciona.
Por exemplo, esse sql abaixo funcionar perfeitamente select * from tabela1 a left outer join tabela2 on a.id = b.id Agora se vc utilizar subqueries no select como o exemplo abaixo, ai não funciona, pois ele vai pensar que a tabela principal é a tabela3. select a.*, (select c.id from tabela3 c where a.id = c.id) from tabela1 a left outer join tabela2 on a.id = b.id Em 15 de julho de 2010 11:52, Rubem Rocha <rubem.ro...@dtmanaus.com.br>escreveu: > > > Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função > Pos(), peque a posição da palavra FROM e a posição da próxima cláusula > seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou > qualquer > uma outra, dependendo do banco de dados que estejas usando). Recorte a > string dentro desse faixa de posições e analise para obter o(s) nome(s) > da(s) tabela(s) desejada(s). > > Sds. > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto: > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em > nome de Evaldo > Enviada em: quinta-feira, 15 de julho de 2010 10:41 > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: [delphi-br] Procurar Nome da tabela dentro da query > > > Alguém tem algum algoritimo para capturar o nome da tabela a que se refere > uma > query? > > por exemplo um objeto TsqlQuery com a instrução: > > ' select nome,telefone from CLIENTE where idcliente = :cliente '; > > o algoritimo iria retornar 'CLIENTE'. > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html