Я бы лично перешел к динамическому утверждению или IF...ELSE
логике. Поскольку вы когда-либо будете запрашивать только одну таблицу, имеет смысл создать соответствующий план.
Динамический подход:
DECLARE @SQL nvarchar(MAX);
SET @SQL = N'SELECT * FROM ' + QUOTENAME(CASE @UseFlip WHEN 1 THEN N'Flip' ELSE N'Flop' END) + N';';
EXEC sp_executesql @SQL;
IF...ELSE
Подход:
IF @UseFlip = 1
SELECT * FROM Flip;
ELSE
SELECT * FROM Flop;
Редактировать: Вышеупомянутое было полностью признано недействительным, так как ОП прокомментировал ниже этот ответ, чтобы сообщить, что они используют встроенную функцию табличного значения (эта информация в данный момент не рассматривается),Ни одно из этих утверждений не может быть использовано в iTVF.