subqueries in the select list

Why is using subqueries in the list of SELECTION so slow? Oracle would not optimize by changing the hash-join-semi. Is there a rule for this? Is there any list of optimizations that seem simple but Oracle is unable to carry them out? My version of Oracle's 11g Enterprise Edition Release 11.2.0.1.0

Here is an example:

test the table, select the level of the double connect by level to create < = 1000 * 1000;

Call dbms_stats.gather_table_stats (user, 'TEST');

Quick version - find duplicates of I -.

Select * from test t1 where exists (select 1 test t2 where t2.i = t1.rowid <>t1.i and t2.rowid); --0 s

-other methods are slow because for each record of the table overall TEST TEST is analyzed:

Select * from (select case when exists (select 1 test t2 where t2.i = t1.rowid <>t1.i and t2.rowid) then end 'identifier' err test t1) where err is not null;

Select * from (select case when exists (select 1 test t2 where t2.i = t1.rowid <>t1.i and t2.rowid) then end 'identifier' err test t1) where err is not null;

select max (case when exists (select 1 ))

test t2

where t2.i = t1.i and

T2. ROWID <>t1.rowid) then

'ID '.

end) err

test t1;

select max (case when t1.rowid not in (select min (t2.rowid) ))

test t2

Group by i) then

'ID '.

end) err

test t1

Here is an explanation:

Ask Tom & quot; disadvantages of queries with many & quot; Select... & quot;

Tags: Database

Similar Questions

  • Microsoft SQL Server 2014 (SP1 - CU4) (KB3106660) query failed with error ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

    Hello
    I use Microsoft SQL Server 2014 (SP1 - CU4) (KB3106660) Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

    SELECT DISTINCT A.PI_LOOKUP_CATEGORY_ID,
    REPLACE (REPLACE (UPPER (A.LOOKUP_CATEGORY_NAME), ' ', '_'), '-', '_') AS CATEGORY_TECH_NAME,
    A.LOOKUP_CATEGORY_NAME,
    A.LOOKUP_CATEGORY_DESCR,
    COUNT (B.PI_LOOKUP_CATEGORY_ID) AS USAGE_COUNT
    FROM [PI_LOOKUP_CATEGORY] A LEFT OUTER JOIN B [PI_INSIGHT_COLUMN] WE
    A.PI_LOOKUP_CATEGORY_ID = B.PI_LOOKUP_CATEGORY_ID
    A.PI_LOOKUP_CATEGORY_ID GROUP,
    REPLACE (REPLACE (UPPER (A.LOOKUP_CATEGORY_NAME), ' ', '_'), '-', '_').
    A.LOOKUP_CATEGORY_NAME,
    A.LOOKUP_CATEGORY_DESCR
    ORDER TO REPLACE (REPLACE (UPPER (A.LOOKUP_CATEGORY_NAME), ' ', '_'), '-', '_')

    above request is failed with error ' ORDER BY items must appear in the select list if SELECT DISTINCT is specified. " Microsoft SQL Server (SP1 - CU4) 2014 (KB3106660)

    same query works fine with older versions of SQL servers like (2008R2, or 2012)

    Please let me know the resolution of this problem...

    Thank you
    Touria

    Ask here:

    MSDN - SQL Server - Microsoft forums

  • Tabular returns lines based on the selection list

    Howdy-

    An element of the selection list is used to select a job title.

    The tabular presentation returns lines of documents to be considered annually by the title of the post.

    A single column in a tabular form (the number of the document) is defined as a link so that the user can open and read the document.

    It works beautifully.

    But...

    Some job titles return a row of five documents, still others return more than a hundred, so when paging is used to move to the next set of lines in tabular form, updates the selection list and the selection is lost.  I have the Page Action selection list element when the modified value to Redirect and set the value, but the Type of Source is static that may be my problem.

    How can I use pagination while maintaining the value of the selection list?

    Thanks in advance.

    Alexandra

    Request Express 4.2.2.00.11 (by the way, I don't have our network administrator do a update to this version?)

    the value of the default selection on a hidden item list. When you select from the drop-down list, set the item also hid from the selected item.

  • PLSQL code in the selection list

    My query is:

    I have a room list of table names that contain information about the rooms

    capacity seated

    name of the rooms are fetch in the select list: P1_ROOM_NAME that returns the id of the element room hidden

    : P1_ROOM_ID that is used for the third Select: P1_NO_OF_PARTICIPANTS

    I get the error message by filling: P1_NO_OF_PARTICIPANTS

    NO DATA FOUND AND I LIKE INVALID VARIABLE

    I know some people found data are due to: P1_ROOM_NAME IS NOT SELECTED first

    the loading of the page.

    Any idea for the request to: P1_NO_OF_PARTICIPANTS

    sample data and used queries

    create the table room_list

    (number of room_id,

    room_name varchar2 (100),

    sitting_capacity

    );

    insert into room_list values(1,'a',3);

    insert into room_list values(2,'a',1);

    : P1_ROOM_NAME

    SELECT ROOM_NAME, ROOM_ID AS DID R

    OF ROOM_LIST

    To select the list I used

    : P1_NO_OF_PARTICIPANTS

    Lov used cascading point P301_ROOM_ID

    DECLARE

    l_sitting_capacity varchar2 (50);

    Start

    SELECT SITTING_CAPACITY from l_sitting_capacity

    OF ROOM_LIST

    WHERE ROOM_ID =: P301_ROOM_ID;

    BECAUSE me IN 1.l_sitting_capacity

    loop

    RETURN

    "I select as view, I like back"

    the double ';

    end loop;

    end;

    Hi Reema,

    ReemaPuri wrote:

    I wanted to show the numbers in the list of values up to not passed as a parameter.

    for example

    If the capacity is 3 then lov it should show 1,2,3

    Try this example

    SELECT LEVEL AS D, LEVEL AS R
    FROM DUAL
    CONNECT BY LEVEL <= (select 3 from dual);
    

    Here, instead of Select 3 of double replace your query giving you room capacity

    Hope this helps you,

    Kind regards

    Jitendra

  • Development of the selection list after refresh using jQuery

    Hi all

    I have an Express Application 4.1.1.00.23 application that runs on a server, Oracle 10 g R2.

    In the application, I have a page (suppose it to be Page 10) that has a drop down (let's call it P10_PARENT). Next to the dropdown menu, I have a button that when clicked opens another window popup with page 11. This 11 page is used to create many of the points listed by the P10_PARENT drop down. When enter us the data P11 and click OK, we have a javascript to call a process application that creates the object in the database. Now select the P10_PARENT list is updated to reflect this new object. So after the application process is running, the JavaScript on the Page 11 calls a function in Page 10, using window.opener.functionName. This Page 10 function performs an apex to help refresh

    $('#P10_PARENT').trigger('apexrefresh');
    

    This function returns the Page 11, the page is closed using the Window.Close ().

    It works fine up until this point. Now, there are also by default the value selected in the select list of the newly created object. We made a function for it. But he calls immediately after the outbreak of the updating of the apex does not work because he probably did not updated the list since the back end still.

    Therefore link us an apexafterrefresh event to this element and making the default here. Like this:

    $('#P10_PARENT').bind('apexafterrefresh',function(){
      setdefault('P10_PARENT',newCreatedObjVal);
      alert('Refresh completed!');
    });
    

    But this event does not seem to be triggered. I've tested in IE and Chrome. In Chrome, it started once, but never after that.

    The relevant code on page 10 looks like this. The refreshBusList function is called Page 11 with the value of the newly created object.

    function refreshBusList(pDefault)
    {
      newCreatedObjVal = pDefault;
       $('#P10_PARENT').trigger('apexrefresh');
    }
    
    $('#P10_PARENT').bind('apexafterrefresh',function(){
      setdefault('P10_PARENT',newCreatedObjVal);
      alert('Refresh completed!');
    });
    

    I would like to know what we're doing wrong. Is it still the right way to do it? I can't use dynamic actions here because the logic of javascript page is too complicated be properly implemented using the declarative logic like DAs (we tried once and had to leave after a week. has become a nightmare to manage).

    Any help would be much appreciated!

    Thank you!!

    Aalami

    What does setDefault? Have you tested this feature by running it from the console? It doesn't have the required behavior?

    Can what newCreatedObjVal value contain? What is an object? A string?

    Are you sure that the selection list is updated?

    I would also like to rewrite your refresh logic. On the one hand, you declare a variable of global scope: horrible! There is no need of it. You can also control refreshing after a little better by simply acting on it once.

    function refreshBusList(pDefault)
    {
      // not really necessary. But use "var" to declare scoped variables!
      var newCreatedObjVal = pDefault;
    
      // bind a one time afterrefresh event handler
      // then, trigger the refresh
      $('#P10_PARENT')
      .one('apexafterrefresh',function(){
        setdefault('P10_PARENT',newCreatedObjVal);
        alert('Refresh completed!');
      })
      .trigger('apexrefresh');
    }
    
  • Refresh the report area of PL/SQL (not Page) using the value of the select list

    Hello

    I have a report region based on a "body of the PL/SQL function returning a query'which SQL is generated on the selection of a value of an element from the selection list, select action list is"Redirect and set", but this causes the entire page refresh rather than just the region report." I tried to update the report using only a dynamic action on the item list select (Action now reset to 'None'), but now the report does not appear on the choice of the list. Can someone suggest a solution that will allow me to update this report without refreshing the page? I use APEX 4.2.2 and the syntax of the statement is as follows:

    DECLARE

    v_statement VARCHAR2 (500);

    BEGIN

    SELECT query_text
    IN v_statement
    OF sql_queries
    WHERE query_id =: P2_QUERY;

    RETURN v_statement;

    END;

    where P2_QUERY is Select list item,

    Kind regards

    Kevin.

    KevinFitz wrote:

    The displayed report region is subordinate to the point P2_QUERY is NOT NULL. I guess that the region appears not is because the Action for the select list item is set to None, and so P2_QUERY is always NULL.

    No, the region does not appear because it is subordinated to the P2_QUERY being NOT NULL. This means that the region of report never exists on the page displayed in the browser, so it cannot be updated dynamically. (Dynamic updating is not to evaluate the conditions of the region, and she makes only the content of the report, not the whole region again).

    Remove the condition on the region to report, check the update works and then go back on what exactly are the requirements here. If you want to the area appear only when P2_QUERY has a value, and you want it to be regenerated without submitting and reposting of the page, the region must then be hidden rather than conditionally restored and shown via dynamic when action P2_QUERY Gets a value.

    I tried to add a further Action for the event real value DA but has been a mistake, as stated above,

    All irrelevant if Page to submit items on the region is used correctly.

  • refresh the html region when the selection list or selected ir line chang

    Apex 4.2

    Hello

    I made a simple page for test actions.

    I have

    -an interactive report and a selection in my first area list.

    -a field of text (P5000_indid) to keep the selected indid

    -region of html where the source is:

    DECLARE

    CURSOR c_ind IS

    SELECT indid, ind, industry

    IND

    WHEN indid as: P5000_INDID;

    BEGIN

    FOR a c_ind IN LOOP

    HTP.p ("< style b =" white-space: nowrap;) "> Indid: ' |" a.indid |' ---> ' || a.Industry: '< /b > < br / >');

    END LOOP;

    END;

    I'm sorry, but I m a bit confused with all the things I read before and do not know what is possible or not and what is the best practice to:

    1. select in the selectList (is it also possible to retrieve the selected (highlighted) or line in the IR)

    2 update the P5000_INDID

    3. refresh the html box according to the value of P5000_INDID (I was able to refresh an IR according to value, but there was the possibility to say what variable to present, but I have no

    see for the region of html)

    I m doing this test, because in the end, I would like to be able to regresh a small chart according to the selected line of the IR.  Do you think that it is possible to s?

    Sorry for my newbie question

    Thanks for your help

    L.

    OK, I finally found everything that I needed,

    You can test it on:

    http://Apex.Oracle.com/pls/Apex/f?p=53793

    Demo/demo

    the content of the output area now is the result of an application process, according to a parameter.

    It is called with javascript onChange and response replace the contents of the region

    and you can also see that I can now select a line and show it by changing the color of the line, and then update the output.

    and when a line is selected, it resets the selection on the selectList to avoid triggering the event on the selection list.

  • Reset the value of the selection list

    APEX version: 4.2.2

    I'm fighting to implement a solution to reset the value of an element from the list of selection on a page in my application.

    I currently have about 4 pages in my application with a level of tabs with every page on its own tab.

    I have a report of Emp page that lists employees. The page contains an element of selection list for emp_no who submits the page when the value changes. The query for the list of selection queries the emp for name and emp_no table. It has:
    Display additional values: Yes
    Display Null values: Yes
    Display NULL value: all THE
    Return NULL value:
    (no value for the return NULL value)
    Page, in itself, works the way you want. During the first visit to the page, EVERYTHING is selected and the report shows all the EMOS. If I select a specific employee, the page refreshes with just this employee.

    On the Main page is another employee list report. The report has a link between the employee id column and the Emp report page. The link sets the value of Emp.emp_no to the value of Main.emp_no. It works very well so if I take emp hand 123, 123 shows Emp.emp_no and the report shows that retail for emp 123.

    The problem is when a specific employee has been selected previously from the homepage or the Emp page and I click on a tab to another page, say the status tab / page and then click on the tab of the page of the Emp. The current behavior of the page, is that it continues to show some used was previously selected regardless of how it has been set, either Emp or to the homepage page. I want to reset select Emp.emp_no ALL (or null) if I navigate to the page of the Emp to any other page except hand or Emp itself.

    I searched through the forums and tried to use processes at the level of the page and after region to reset the value of Emp.emp_no, but nothing has worked. I believe there is a 'simple' way to do it that doesn't require coding on each page to set Emp.emp_no on a null value before calling it.

    I would like ideas on solving this seemingly simple task that has managed to escape.

    Thanks in advance.

    cagora

    Use a query in your link for filtering the selection list. Create a compuation on the definition page of the selection to NULL list if the request is NULL > PL/SQL Expression >: APPLICATION IS NULL. In this way, you can check the list of selection gets nulled while accessing the page normally.

    Denes Kubicek
    -------------------------------------------------------------------
    http://deneskubicek.blogspot.com/
    http://www.Apress.com/9781430235125
    https://Apex.Oracle.com/pls/Apex/f?p=31517:1
    http://www.Amazon.de/Oracle-Apex-XE-Praxis/DP/3826655494
    -------------------------------------------------------------------

  • Weird problem with the width of the selection list

    4.1.1

    Hello

    I got a selection list filter that has three values null, Y and n. based on what the user selects a tabular presentation is filled with data that also has a list of selection.

    Now, earlier, I had only two values Y and N in the selection filter, and according to the selected option list, select tabular list would be filled as well as other areas. Select the 'tabular forms' list for all lines are the same width. When I added the Null value option in, select the filter, now the tabular form displays all of the values, however, the selection list is of different sizes according to the length of the text.

    I put in the CSS Style of the selection list - width: 20px

    I also tried the option element width, but still no luck, when I select Y or N to the upper filter select, selection lists appear correctly with the same width.

    No idea what could happen?

    Just to confirm, the problem is with the width of selection tabular list.

    Thank you
    Ryan

    ryansun wrote:
    4.1.1

    Hello

    I got a selection list filter that has three values null, Y and n. based on what the user selects a tabular presentation is filled with data that also has a list of selection.

    Now, earlier, I had only two values Y and N in the selection filter, and according to the selected option list, select tabular list would be filled as well as other areas. Select the 'tabular forms' list for all lines are the same width. When I added the Null value option in, select the filter, now the tabular form displays all of the values, however, the selection list is of different sizes according to the length of the text.

    This seems odd. Can you reproduce this on apex.oracle.com? What browser do you use?

    I put in the CSS Style of the selection list - width: 20px

    I also tried the option element width, but still no luck, when I select Y or N to the upper filter select, selection lists appear correctly with the same width.

    No idea what could happen?

    All functionality of another column using the column Standard report basically, means the "CSS" Style property is not applied (see, for example: {: identifier of the thread = 1001577}), then the attributes of the element, link attributes etc. should be used.

    Tabular controls, to use the standard approach of HTML attributes. Come in

    style="display: block; width: 200px;"
    

    in the property of the attributes of the element.

  • The selection list value does not change when the page is sent

    Hi all

    I have a selection list that acts as an entry for the report. the page is submitted using a button.
    The button uses the branch option "redirecting to page in the application. I select the same page.

    The problem is when I change other values in the value list always takes the first value

    I want to know if the problem is with the key or select list. What should I do about it?

    Concerning
    REDA

    Renon wrote:

    I tried your suggestion. Now that I ask, is the report is expected to show only when the button request is passed. I read to present the action of page the name of the button acts as a request.
    so now my report status is request = Expression1 and value of expression1 takes GO tell button name.

    The report does not appear but. I checked the session. It has the value of the selection list and the page is submitted as but the report is not displayed.

    ASK is disabled before the exposure treatment page unless it is set in a branch or a URL, this is why it has no value when they are referenced in your State in the region.

    Set the attribute request in your branch for & request to make available at the course to see the page the current value of the demand for treatment.

  • Conversion of the year in YYYY format to return to the selection list

    With Apex 4.1.1 on Linux (Apex Listener on glassfish)

    I have a table with the dates of weekend and use this table for like my LOV.

    The selection list appears as 12-SEPT-12 when I check the value attribute of Firebug. Problem is that it comes as year 0012 instead of 2012 when I try to use it in my PL SQL code to save it in a table.

    Is there a way I can get the return value for the year in YYYY format for the return value to the selection list? Have you tried to_date (dt, ' MON-DD-YYYY "") with no luck.

    See you soon.

    All APEX session state values take place as VARCHAR2s. Explicit conversion between DATE using the specified formats values is recommended. Converted to a VARCHAR2 in the LOV query:

    select to_char(week_ending, 'DD-MON-YYYY') l, to_char(week_ending, 'YYYY-MM-DD') v from ...
    

    and to this DAY in the PL/SQL code of process:

    ...to_date(:p1_week_ending, 'YYYY-MM-DD')...
    

    I'm trying to standardize on the use of ISO 8601 representation of date not displayed values. These are unambiguous, sort correctly by using the semantics of character and are compatible with other systems and technologies.

  • change the results of the report with the selection list using dynamic action

    This is one of those situations where if I could understand the appropriate search terms to use, someone else must have asked this question in the past.

    I have a report with a SQL query with a condition based on a list of selection on the same page. So I have a list of selection -: P177_FISCAL_YEAR

    My request for my report is:

    Select md_id, display_name, description
    of media_tbl
    where fiscal_year =: P177_FISCAL_YEAR

    When a person makes a selection on the selection list (: P177_FISCAL_YEAR), I would like to report up-to-date without having to submit the page. I was hoping that I could do something like this using a dynamic action but have not found a way to do it.

    Thanks in advance!

    John

    Create dynamic Action:

    When
    Event: change
    Selection type: product (s)
    Article (s): P177_FISCAL_YEAR
    Condition: - unconditionally.

    Real Actions (add 2 real actions)
    -the first is to load the value in session state so that the report can see.
    Sequence: 5
    Action: execute the PL/SQL Code
    Code PL/SQL: null;
    Items to submit page: P177_FISCAL_YEAR

    -the second to refresh the report
    Sequence: 10
    Action: Discount
    Selection type: region
    Region:

  • Value for the select list

    Hello


    Can someone please let me know how to value to select list (display Null value: Yes, the Null value to display:--select--) through the text field and button.) When I enter a value in the text field and click the button, and then select field must be filled with the respective value.

    I tried to make it through the writing of a query in the source and through dynamic action button, they are populating the value to select the list but we null is folded down, then we must click on the selection list to display the value, but I want the value that is returned to be visible visible null instead.


    Kind regards
    Shoaib

    Hello
    >
    Can someone please let me know how to value to select list (display Null value: Yes, the Null value to display:--select--) through the text field and button.) When I enter a value in the text field and click the button, and then select field must be filled with the respective value.
    >
    a. What is the source of the LoV? Static? Dynamics?
    b. the value that you set using point and button is the value display or the return value of the LoV? It should be the return value.
    >
    I tried to make it through the writing of a query in the source and through dynamic action button, they are populating the value to select the list but we null is folded down, then we must click on the selection list to display the value, but I want the value that is returned to be visible visible null instead.
    >

    As you mention DA, you are on 4.x. But it is better to ask clearly the Apex version.
    See you soon,.

    PS: What you have specified in the Retrun Null value?

    Published by: Dominique on July 20, 2012 13:31

  • Refreshing a report on the change in value of the selection list

    -Very well, this should be very easy, but I can't seem to do things.

    I have 2 items on a page: a list of selection and a report.

    The report contains a WHERE clause that uses the value of the selection list.

    So when I change the value of the selection list, the report needs to be recharged.

    I don't want to use a 'Redirect and set' when I change the selection list, because I don't think it's very pretty.

    So I created a dynamic action that updates the State when the selection list is changed.

    Now for the problem: the report get updated, but the new value of the selection list is not used!

    How can I make select the value of the item to be stored in session state?

    I can't find this option anywhere in the parameters of the dynamic action.

    Thank you.

    popovitsj wrote:

    How can I make select the value of the item to be stored in session state?

    I can't find this option anywhere in the parameters of the dynamic action.

    It is in the region of report definition: Page to submit items in the Source section.

  • Help with dynamic action and the selection list item

    G ' Day Apex gurus.

    I have problems trying to achieve to trigger the Help window from an element automatically select. A Help window is triggered when it is clicked on the label of an item, but my customer wants to be triguered automatically as soon as the user clicks to view the options in the select list.

    I think I should be able to do with dynamic actions but I can't function.

    I know when someone clicks on the label of the item selection list trigger this JavaScript

    JavaScript:popupFieldHelp('277938589795252851','1545903379570909')

    So I want to trigger the javascript also when the user click on the item selection list and pull down the options and for that I think that the dynamic action is the way to go, but I can't do things.

    That's what I have to do:

    I created a dynamic option as follows:

    Name: test
    Sequence: 30
    Even: click
    Selection type: product (s)
    Article (s): P1_RATING <-a selection list item
    Condtion: - no requirement.

    Real Actions
    Sequence: 10
    Action: Run the JavaScript Code
    Fires when the result of the event is: true
    Fire on loading the page: checked
    Code: javascript:popupFieldHelp('277938589795252851','1545903379570909')

    Thank you anyone who can tell me what I'm doing wrong here or bring a solution to my problem to trigger the Help window from an element automatically select.

    Kind regards
    Carlos

    Hi Carlos,

    I've set up a test case of exactly in the same way and it worked fine for me. I've created a page element called P1_DA_DEMO and added some values of the static selection list, then added a help text. I used the settings are lower, I suggest you try again, but also make sure that you have no other Javascript errors on the page. Use a tool like firebug to check.

    Name: Action Dynamics demo
    Sequence: 10
    Even: click
    Selection type: product (s)
    Product (s): P1_DA_DEMO<- a="" selection="" list="">
    Condtion: - no requirement.

    Real Actions
    Sequence: 10
    Action: Run the JavaScript Code
    Fires when the result of the event is: true
    Fire on loading the page: unchecked
    Code: javascript:popupFieldHelp('277938589795252851','1545903379570909')

    Scope of the event set a Bind s.

    Thank you

    Paul

Maybe you are looking for