Il tuo tavolo sembra non essere nella prima forma normale.
Invece di tre colonne da Period0Id a Period2Id potresti avere una colonna per PeriodIndex con valori di (0,1,2) e una singola colonna per PeriodId e quindi sarebbe solo un WHERE PeriodIndex = @Check
Non puoi selezionare una colonna usando l'interpolazione di stringhe con una variabile mentre stai tentando. È possibile utilizzare l'SQL dinamico per creare la stringa SQL in modo dinamico. O semplicemente codificare le opzioni se hanno tutte lo stesso tipo di dati.
Select ID,
Name,
StatusId = CASE @Check WHEN 0 THEN Period0Id
WHEN 1 THEN Period1Id
WHEN 2 THEN Period2Id
END
From mytable