Get column name based on value in table
Plan A:  Client code to construct the query with the variable column name.

Plan B:  Do a similar thing, but using a Stored Routine in which you use CONCAT, PREPARE and EXECUTE.

Meanwhile, FLOAT(m,n) is a bad idea.  It leads to two roundings.  Suggest simply using FLOAT.  Also, FLOAT contains about 7 significant digits, yet many of your float columns seem to expect more.  Perhaps you want DOUBLE (~16 digits) or DECIMAL.