However, I would like to create a function which returns the resultset
of an INNER JOIN with table1 being polymorphic and table2 being a
result set of column types which do not change. Is this possible?
Providing a concrete example might help. But, SQL requires that, at runtime, all columns and types in the final query be defined at the time of its execution. Even those coming from a function declared returning "record". You can get dynamic SQL to accomplish pretty much anything as long as you keep that rule in mind.
David J.