Affecter les résultats de la requête à la variable MySQL

Je suis de l'interrogation d'une grande base de données mysql avec seulement des privilèges de lecture, et j'aimerais mettre quelques ralentir les résultats de la requête dans une variable, 'foo', donc je peux les utiliser à nouveau dans d'autres requêtes.

Fondamentalement, je veux avoir une variable pour un lourd sous-requête, afin que je puisse le réutiliser sans avoir le coût de fonctionnement chaque fois que je veux l'utiliser.

quand je suis entrée:

set @foo := (select *
            from table1 join table2 
            where bar = 0 
            group by id);

J'obtiens: ERREUR 1241 (21000): Opérande doit contenir 1 colonne(s)
et si je me limiter à 1 colonne, ERREUR 1242 (21000): une sous-Requête renvoie plus de 1 ligne

Est-il un moyen pour stocker un tableau ou d'un tableau dans une variable? Je n'ai pas de privilèges pour créer des tables temporaires.

source d'informationauteur 5un5