Both of the above methods leave you wide open to SQL Injection attacks.
With that in mind, let me ask... are all of the Academics_xx tables identical in every way except for their name and content? If so, it would likely be much better to create a partitioned view using the tables and join to that single view using the splitup version of the states parameter, instead.
--Jeff Moden
Change is inevitable... Change for the better is not.