Hi Lawrence -
I think what you have going on is that, because you are sending the parameter to Teradata as a string, it is putting it in single quotes. This is why it works in a WHERE clause but not in the table name. So essentially you are sending it this....
SELECT * FROM DATABASE.'myTableName'
I am not sure there are any string manipulation, escape characters, or type casting SQL functions that will remove the single quotes, but that would be the direction to explore (I am not aware of any).
Depending on what you're specifically looking to accomplish and how many tables you're thinking about having as choices, there may be other approaches. If the number is small you may be able to create a data source for each of the tables and handle from within Tableau.