Ще трябва да използвате съхранена процедура, която да генерира SQL динамично и след това да я стартира. Имената на колони всъщност не са първокласни данни в SQL, така че не можете да правите много нищо с тях. Те се определят по време на синтактичен анализ на заявката, преди да се изпълни заявката или да се извлекат каквито и да било данни.
Предлагам да го направите в приложението си вместо това. Просто накарайте приложението ви да показва/запазва/каквито и да са правилните имена вместо имената на колоните на базата данни.
PS:Вие злоупотребявате с релационния модел ужасно. Моля, много внимателно помислете дали наистина искам тази схема. Вашата схема не отговаря на първата нормална форма. И какво е worksheet_type_lookup
за? Не worksheets
да ви кажа кой тип?