columns of first table contains Table name and column name of another table.
I want to retrieve one field from first table and one field from second table (but name of second table is not known until runtime as it is stored in first table)
Can anyone suggest how this can be done in one query if possible?
Look forward to an early reply
I'd rather be a could-be if I cannot be an are; because a could-be is a maybe who is reaching for a star.
Joined: Dec 15, 2005
If you truly mean any table, I really don't believe this can be done in standard SQL. If you have an either/or situation, you might be able to craft a solution using outer joins.
It can however be done in many stored-procedure languages; just how depends on the stored procedure language your database supports, if any. (Stored procedures are called from JDBC using CallableStatement objects.)
Generally, such "dynamic" approaches can lead to various types of problems however; it often makes it tough to use PreparedStatement (or the appropriate parallel technique in the stored procedure language), and it often becomes hard to enforce referential integrity in the database.
Joined: Mar 25, 2004
Or, instead why not use ResultSet's existing methods to get the column names, types or even sizes? I don't see the advantages to store table/column names in one table for another table.