I agree with Ric. I assume you need these populated rows at execution time. This is just a thought, but if statistics are up-to-date on the table then perhaps checking the user_tab_columns for the num_nulls column compared against the total number of rows (user_tables.num_rows) might help you. The point being, you query meta data that is less costly than the actual table. I might be wrong, but it's just an idea. Either way, it doesn't seem you can avoid a complicated SQL statement. Cheers, Maaz On Mon, Feb 17, 2014 at 8:40 AM, Ric Van Dyke <ric.van.dyke@xxxxxxxxxx>wrote: > Offhand this certainly has the sound of some very bad data modeling but > that likely is beyond your control. Is this some sort of "generic table"? > If so that will just lead to problems and you're only just starting to have > them. Simply put, this table breaks just about every rule of relational > theory and hence is not going to perform well no matter what you do. > > > > It seems to me the "best" thing would be just select the whole row(s) and > then have the application dissect the row(s) and pull out where there is > data and where there isn't. Creating the dynamic SQL as you do works, but > will always be slow. Getting the entire row and then parsing thru it to > find data is likely going to be faster. > > > > > > > > *From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto: > oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *Raja Kannan Sengoden > *Sent:* Monday, February 17, 2014 2:36 AM > *To:* Chitale, Hemant K > > *Cc:* oracle-l@xxxxxxxxxxxxx > *Subject:* RE: How to select only columns having values.. > > > > Thank a lot Hemant K Chitale. > > > > As per the real scenario, all the columns will have the value. > > > > But for the particular condition, only limited columns will have value. > > > > At this time, I don't want to do analyze the data and maintain. > > > > Hence I requested, is there any simple way.. > > > > Attached query helped me to get the expected result. > > > > Thanks to Tony who helped me to get the expected result. > > > > Thanks & Regards, > > Raja > > > > *From:* Chitale, Hemant K > [mailto:Hemant-K.Chitale@xxxxxx<Hemant-K.Chitale@xxxxxx>] > > *Sent:* Monday, February 17, 2014 3:12 PM > *To:* Raja Kannan Sengoden > *Cc:* oracle-l@xxxxxxxxxxxxx > *Subject:* RE: How to select only columns having values.. > > > > > If I don't know exactly, Is there any way to select only those 10 > columns? > > Without actually querying the table, you cannot identify the 10 columns. > > > > You could periodically query the table for all the rows and identify > columns with NOT NULL values and then maintain a list of such columns as > "meta data". However, there is no guarantee that a column that had NULL > values for all 1000 rows yesterday or even a minute ago still has NULL > values because there might have been an INSERT or UPDATE that set one row's > value to a non-NULL. > > > > How do you know that the 190 columns have NULL values ? > > > > Hemant K Chitale > > > > > > *From:* oracle-l-bounce@xxxxxxxxxxxxx [ > mailto:oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx>] *On > Behalf Of *Raja Kannan Sengoden > *Sent:* Monday, February 17, 2014 12:38 PM > *To:* oracle-l@xxxxxxxxxxxxx > *Subject:* How to select only columns having values.. > > > > Dear Experts, > > > > I have a table with 200 columns and having above 1000 Records. > > > > But for a particular where clause, there is only 3 records fetched. > > > > As the table having 200 columns, but the particular 3 record having only > 10 columns with some value, and 190 columns having null value. > > > > If I am sure, which columns I want or which column having value, then I > can select only those columns. > > > > If I don't know exactly, Is there any way to select only those 10 columns? > > > > If I get the data like this, It will save few minutes for the data > arrangement. > > > > > > Thanks in advance. > > > > Raja. > > > This email and any attachments are confidential and may also be > privileged. If you are not the intended recipient, please delete all copies > and notify the sender immediately. You may wish to refer to the > incorporation details of Standard Chartered PLC, Standard Chartered Bank > and their subsidiaries at https://www.sc.com/en/incorporation-details.html > . > -- A life yet to be lived...