Tendría que usar un procedimiento almacenado que generaría SQL dinámicamente y luego lo ejecutaría. Los nombres de las columnas no son realmente datos de primera clase en SQL, por lo que no puede hacer mucho con ellos. Se determinan en el momento del análisis de la consulta, antes de ejecutar la consulta o recuperar cualquier dato.
Sugiero hacerlo en su aplicación en su lugar. Simplemente haga que su aplicación muestre/guarde/cualesquiera que sean los nombres correctos en lugar de los nombres de las columnas de la base de datos.
PD:Estás abusando horriblemente del modelo relacional. Considere con mucho cuidado si realmente quiero ese esquema. Su esquema falla en la primera forma normal. ¿Y qué es worksheet_type_lookup
? ¿por? No worksheets
decirte que tipo?