I'm aware that table names cannot be used with place holders. From the DBI docs - "With most drivers,
placeholders can't be used for any element of a statement that would prevent the database server from validating the
statement and creating a query execution plan for it."

Fair enough.
But what is the usual/recommended approach when you strike a situation where you think you would _like_
to use placeholders for table names?

In my particular situation, I have something like (contrived example):

But of course, that doesn't work.
One approach might be to come up with a better data base design, but unfortunately I'm dealing with legacy stuff that cannot be changed without causing copious amounts of grief and heartache ;)

I've thought about perhaps building a hash of SQL statements, using the table names as keys - but that feels really
horrible.

So, how do others generally approach this?
Is there a module about that addresses this particular problem?