Den eneste måde, uden at opbygge forespørgsler dynamisk, er at hårdkode i hver kombination og vælge den, du ønsker.
Hvis tabelnavnet er en parameter til en lagret procedure, kan dette være i IF-blokke. Men det føles klodset.
Hvis felterne fra hver tabel er ens, kan du samle tabellerne og vælge blandt dem...
CREATE VIEW myUnifiedStructure AS
SELECT 'Table1' AS tableName, * FROM Table1
UNION SELECT 'Table2' AS tableName, * FROM Table2
UNION SELECT 'Table3' AS tableName, * FROM Table3
-- etc
SELECT * FROM myUnifiedStructure WHERE tableName = 'Table1'
Hvis felterne er forskellige i hver tabel, er du muligvis kun interesseret i en delmængde af felterne...
CREATE VIEW myUnifiedStructure AS
SELECT 'Table1' AS tableName, field1 AS field1, field4 AS field2 FROM Table1
UNION SELECT 'Table2' AS tableName, field2 AS field1, field3 AS field2 FROM Table2
UNION SELECT 'Table3' AS tableName, field2 AS field1, field4 AS field2 FROM Table3
-- etc
Eller du kan indsætte NULL'er for felter, der ikke findes i kildetabellen...
CREATE VIEW myUnifiedStructure AS
SELECT 'Table1' AS tableName, NULL AS field1, field2 AS field2 FROM Table1
UNION SELECT 'Table2' AS tableName, field1 AS field1, field2 AS field2 FROM Table2
UNION SELECT 'Table3' AS tableName, field1 AS field1, NULL AS field2 FROM Table3
-- etc