RE:Consulta de tres tablas
No sé si entiendo muy bien tu problemática, pero para hacer una consulta que pase por tres tablas lo suyo es hacer "JOINS".
$sql = "SELECT T1.a, T1.b, T2.x, T3.y FROM (Tabla1 AS T1 INNER JOIN Tabla2 AS T2 ON T1.id=T2.fk_t1_id) INNER JOIN Tabla3 AS T3 ON T2.id=T3.fk_t2_id WHERE T1.nombre='ambrosio' ORDER BY T1.a DESC";
Puedes usar "INNER JOIN" si quieres que aparezcan todos los datos aunque no haya relación entre tablas, "LEFT JOIN" si quieres que sólo aparezca un dato de la "izquierda" cuando tenga relación con alguno de la "derecha" o "RIGHT JOIN" si quieres que sólo aparezca un dato de la "derecha" cuando tenga relación con alguno de la "izquierda". No sé si es esto lo que necesitas o no he hecho nada más que liarte...