Если вы нормализуете свои данные, извлекая пронумерованные столбцы в таблицу, такую как
Matrix
Name Value
Tda1 94.5
Tda2 21.1
Tda3 53.4
Tda4 21.1
И предполагая, что исходная таблица имеет имя table, со значением tda столбцов в столбце с именем nameи значение для умножения на именованное выражение (извините, я не могу прочитать имена ваших столбцов)
Тогда вы можете
SELECT matrix.value * table.expression
FROM matrix m INNER JOIN table t
ON m.name = t.tda_value
Если вы не можете изменить структуру, тогда в стандартном SQL (IMHO) вы будетенужно сделать case
SELECT
CASE t.tda_value
WHEN "Tda1" THEN Tda1
WHEN "Tda2" THEN Tda2
WHEN "Tda3" THEN Tda3
WHEN "Tda4" THEN Tda4
ELSE 0
END * t.expression
FROM table
Примечания:
- вы можете захотеть иметь ELSE NULL (или пропустить другое).
- некоторые базы данных имеют расширения стандарта, которыепозволит вам иметь динамические столбцы в строках
РЕДАКТИРОВАТЬ: Конечно, и рискуя привести к слишком очевидным, в конце вы можете сделать СУММУ вышеупомянутого запроса.