make sure you put some thought into your database design before you go too far.
There are many horror stories about EAV based schema designs. (which this design seems to be heading.)
Read up on them before you go too far.
-- back to being on topic --
AFAIK you can not do dynamic SELECT with an Interactive Report.
However, you can with a Basic Report. But, it is non-trivial. (ie it is difficult to do)
Basic Report can use a "function returning SELECT statement".
You will also need to name the columns based on a different function.
In order to 'synchronize' the column names with the SELECT statement, you will need a 3rd function that properly generates them.
This 3rd function MUST have an 'ORDER BY' clause.
Both the generateSELECT() function and the generateCOLUMN_NAMES() function will call that 3rd function.
From a code management standpoint, you will need to create a package that contains all three functions.
are you sure you want to go this route?
are you ready to go this route?
Again, think about your table designs.
YOU can do such a report with an IR IF.. If you use a collection as the select source as apposed to a function returning select.... There are examples out there showing a pivot, in an IR..
Found and tried interesting solution, simple pivot is enough, works fine!
the only disadvantage of method is limited amount of columns but it should be fine to allocate for example 30 columns and allow to user choose properties for columns and show the rest of properties in detailed form only
MikeKutz thanks for advice I will investigate disadvantages of EAV
TexasApexDeveloper, indeed link above uses collections but this is unnecessary, pivot can be used directly
For EAV information
Here's a link to a good story:
Also, search "EAV" on AskTom.oracle.com
If you do have an EAV (and you want to not-do-that), I advise you to pickup a few database design books (eg Tom's "Effective Oracle By Design" is excellent.)
But, most importantly, you should read this from front to back: Oracle Database Concepts