Ciao, per saperlo basta che provi.
Prima di provare però togli e , che non so cosa siano.
Inoltre non c'è bisogno che chiami le query $sql1, $sql2 ecc, basta $sql, il secondo valore sovrascriverebbe il primo.
Inoltre stesso discorso per $risultato, chiamalo sempre $risultato e ricordati di svuotarlo quando nn ti serve più

Codice PHP:

$sql
="SELECT * from hotel where citta = '$destinazione' ";
$risultato=mysql_query($sql);

$tab = array();

while (
$riga = @mysql_fetch_assoc($risultato))
{
$tab[] = $riga['nome_tabella'];
}
mysql_free_result($risultato);


$sql="SELECT * from (".$tab['indice che indica la tabella'].") ";
$risultato=mysql_query($sql);
mysql_free_result($risultato); 

Queste ultime 3 righe in particolare andrebbero inserite in un ciclo


Codice PHP:
$sql="SELECT * from (".$tab['indice che indica la tabella'].") ";
$risultato=mysql_query($sql);
mysql_free_result($risultato); 
e i dati ricavati salvati in un array prima di liberare il risultato.
Ciao