Cómo usar la salida de la tabla del procedimiento MYSQL almacenado

He estado buscando la última hora más o menos y no he encontrado una respuesta concluyente a este problema aparentemente simple:

¿Cómo se llama a una función / procedimiento MYSQL almacenado y se usa su salida en otras consultas SELECT?

Aunque esto obviamente no funciona, este es el tipo de cosas que me gustaría tener:

SELECT P.`id` FROM (CALL test_proc()) AS P

Donde test_proc () se define por:

DROP PROCEDURE IF EXISTS test_proc;
DELIMITER ;;
CREATE PROCEDURE test_proc()
BEGIN
    SELECT * FROM `table`;
END;;
DELIMITER ;

Solo como un ejemplo. Estaría bien con el uso de una función almacenada también.

Respuestas a la pregunta(1)

Su respuesta a la pregunta