php / mysql con múltiples consultas

<?php

$query1 = "CREATE VIEW current_rankings AS SELECT * FROM main_table WHERE date = X";

$query2 = "CREATE VIEW previous_rankings AS SELECT rank FROM main_table WHERE date = date_sub('X', INTERVAL 1 MONTH)";

$query3 = "CREATE VIEW final_output AS SELECT current_rankings.player, current_rankings.rank as current_rank LEFT JOIN previous_rankings.rank as prev_rank
             ON (current_rankings.player = previous_rankings.player)";

$query4 = "SELECT *, @rank_change = prev_rank - current_rank as rank_change from final_output";

$result = mysql_query($query4) or die(mysql_error()); 

while($row = mysql_fetch_array($result)) {
echo $row['player']. $row['current_rank']. $row['prev_rank']. $row['rank_change'];
}

?>

Todas las consultas funcionan de forma independiente, pero estoy realmente luchando por juntar todas las piezas en un solo resultado para poder usarlas con mysql_fetch_array.

He intentado crear vistas, así como tablas temporales, pero cada vez que dice que la tabla no existe o devuelve un bucle de matriz de búsqueda vacía ... la lógica está ahí pero la sintaxis está desordenada, creo que es la primera vez que tuve que tratar con múltiples consultas que necesito para fusionar todos juntos. Esperando un poco de apoyo. Muchas gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta