In T-Sql (MS SQL Server) you can dynamically compose your SQL statement and then use the sp_executesql method to execute it. Based on your case statement you can build a SELECT statement using a variable and then use sp_executesql to run it. The one thing to be aware of is that you need to make sure you clean any input you get from users if you are using text directly from users to prevent SQL injection attacks.
For example,
DECLARE @sql NVARCHAR(200)
SELECT @sql = CASE @tableToUse
WHEN 'Table1' THEN 'SELECT * FROM Table1'
WHEN 'Table2' THEN 'SELECT * FROM Table2'
ELSE 'Table3' THEN 'SELECT * FROM Table2'
END
EXECUTE sp_executesql @sql
You should be able to do something similar in other versions of SQL.