Alterar tabla usando sub selección

Tengo dos mesas. uno que es una tabla de información de campo y el otro es una tabla de datos de campo.

de forma predeterminada, todas las columnas de la tabla de datos de campo se configuran en campos de texto de algún tipo (varchar, texto, etc.)

Lo que me gustaría hacer es esto. En lugar de crear la consulta manual ALTER TABLE:

ALTER TABLE `field_data` 
CHANGE COLUMN `field_id_2` `field_id_2` decimal NOT NULL, 
CHANGE COLUMN `field_id_3` `field_id_3` decimal NOT NULL,
CHANGE COLUMN `field_id_22` `field_id_22` decimal NOT NULL,
CHANGE COLUMN `field_id_23` `field_id_23` decimal NOT NULL,
CHANGE COLUMN `field_id_25` `field_id_25` decimal NOT NULL,
CHANGE COLUMN `field_id_27` `field_id_27` decimal NOT NULL,
CHANGE COLUMN `field_id_30` `field_id_30` decimal NOT NULL,
CHANGE COLUMN `field_id_66` `field_id_66` decimal NOT NULL,
CHANGE COLUMN `field_id_72` `field_id_72` decimal NOT NULL;

Me gustaría escribir una consulta dinámica de ALTER TABLE basada en la tabla field_info, ahora mismo obtengo esos ID de campo al hacer esta consulta:

SELECT field_id FROM `field_info` WHERE `field_type` = 'a_decimal_field'

que devuelve los valores: 2, 3, 22, 23, etc.

Por lo tanto, necesitaría una consulta (si es posible) que modifique la tabla en función de la selección secundaria que concatene field_id_ al resultado de cada selección secundaria y cambie el tipo de esa columna a decimal.

Sé que puedo hacer esto en PHP construyendo la consulta, pero estoy buscando específicamente una solución mysql pura si es posible.

Respuestas a la pregunta(1)

Su respuesta a la pregunta