Sim, você pode obter informações sobre tabelas e colunas que fazem parte de um resultado de consulta. Isso é chamado de metadados do conjunto de resultados .
A única solução PHP para metadados do conjunto de resultados do MySQL é usar a extensão MySQLi e o
mysqli_stmt::result_metadata()
função. $stmt = $mysqli->prepare("SELECT * FROM db_people.people_facts pf
INNER JOIN db_system.connections sm ON sm.source_id = pf.object_id
INNER JOIN db_people.people p ON sm.target_id = p.object_id
ORDER BY pf.object_id DESC");
$meta = $stmt->result_metadata();
$field1 = $meta->fetch_field();
echo "Table for field " . $field1->name . " is " . $field1->table . "\n";
Você terá que construir a matriz de tabelas distintas usadas na consulta, fazendo um loop pelos campos.