Podrías probar a utilizar el parámetro LIKE
Código:
select t3.* from T1,T2,T3 where (T1.nombre LIKE %valueInput% || T2.nombre LIKE %valueInput%) and T1.id_ciudad=T2.codigo_ciudad and T2.id_zona=T3.codigo_zona;
Así irías cogiendo los nombres de las ciudades o zonas que fuese como el que ha introducido el usuario, o como en el ejemplo que te pongo que la zona o ciudad contenga ese valor. Espero que te pueda servir de algo...