bom pessoal...
resolvi o problema... na verdade o problema estava no Query Browser do MYSQL... ele não funciona com temporary table.
mas executando direto no console... funciona certinho..
para que esta iniciando no windev... o temporary table serve quando vc precisa manipular dados antes de exibir um relatório... no meu caso eu tenho que unir os dados de tres tabelas em uma e processar informações, para ai exibir o relatório. Pode-se criar uma tabela direto no banco, mas se dois
usuario abrir o relatório vai dar problema, o temporary table cria a tabela temporaria em memoria na maquina local, somente o usuario que criou pode utilizar, ao fechar o sistema quando fecha a conexão as tabelas temporaryas são excluidas.
para quem quiser brincar no windev para testar... exemplo de como utilizar
dsReltmp is Data Source
HExecuteSQLQuery(dsReltmp,New_Connection,hQueryWithoutCorrection,"CREATE TEMPORARY TABLE teste5 (codigo varchar(50)) ENGINE=MEMORY") //cria tabela
HExecuteSQLQuery(dsReltmp,New_Connection,hQueryWithoutCorrection,"INSERT INTO teste5(select codigo from cfrt)") //alimenta a tabela com uma consulta em uma tabela real
HExecuteSQLQuery(dsReltmp,New_Connection,hQueryWithoutCorrection,"SELECT * FROM teste5") //seleciona todos os regitros da tabela temporaria
HReadFirst(dsReltmp) //aponta para o primeiro registro
Info(HNbRec(dsReltmp)) //mostra na tela o numero de registro...
HExecuteSQLQuery(dsReltmp,New_Connection,hQueryWithoutCorrection,"DROP TABLE teste5") //remove a tabela temporarya do mysql