Naprawdę nie możesz tego zrobić w jednym SQL oświadczenie.
Próbujesz użyć data (wartość pola) jako metadata (nazwa tabeli) i SQL na to nie pozwala.
Możesz podzielić go na dwie instrukcje lub napisać dynamiczny SQL w procedurze składowanej. Zwróć uwagę, że nie wszystkie warstwy klienta obsługują zwracanie zestawów wyników z procedur przechowywanych.