Rows in the resultset in a line, instead of lines

Hello

assuming that I will have 2 tables:

create table t_customer (ID number, varchar2(20 char) last_name, first_name varchar2(20 char));

create table t_document (ID number, customer_id, document varchar2(200 char));


insert into t_customer (id, first_name, last_name) values (1, 'Smith', 'Peter');

insert into t_document (id, customer_id, document) values (1, 1, "file1.doc");
insert into t_document (id, customer_id, document) values (2, 1, 'file2.doc');
insert into t_document (id, customer_id, document) values (3, 1, 'file3.doc');

I want to get a result like this:

client file #1 #2 file #3

-------------------------------------------------------------------------------------------

Peter Smith file1.doc file2.doc file #3.doc

The result should be in a line, instead of 3 lines.

I used this query:

with the customer

(select ID

last_name

first name

of t_customer)

document1

as (select d.id

d.customer_id

d.document

of t_document d

c t_customer

where d.customer_id = c.id

and c.id = 1

and d.id = 1)

document2

as (select d.id

d.customer_id

d.document

of t_document d

c t_customer

where d.customer_id = c.id

and c.id = 1

and d.id = 2)

document3,

as (select d.id

d.customer_id

d.document

of t_document d

c t_customer

where d.costumer_id = c.id

and c.id = 1

and d.id = 3)

Select c.

d1.*

d2.*

d3.*

Customer c

document1 d1

document2 d2

d3 document3

where c.id = d1.client_id

and d2.client_id = c.id

and c.id = d3.client_id;

My solution works as expected - but seems not as elegant for me. Is there another way to get the desired results? And what would be the solution if the

number of documents that belong to a customer would be dynamic? My solution, I would need to have 10 separate with clauses if 10 records

for a customer would exist.

Any help will be appreciated.

Rgds

J.

Hello

VivaLaVida! wrote:

Thank you - but since I'm on 10g I'm not able to use PIVOT :-(

How everybody had to know that?  If you want an answer that works in your version, you say what version it is.  Oracle 10 was released in 2003; It is a very long time in this area.  It is not yet supported by Oracle more.  Nobody is going to assume that you're using something of this age.

The FAQ Forum shows how the pivots in any version; Ann gives a good example in response #3, above.

Where told Ann

GROUP BY tc.last_name |' '|| TC.first_name, TC.ID;

One could also say:

GROUP OF tc.last_name, tc.first_name, tc.id;

Tags: Database

Similar Questions

  • Problem with PPR in a table advanced with the insertion of several lines in create the page using 'add a new button '.

    Hello experts,

    I created a page that contains an array of advanced, 6-7fields (including a poplist column)

    Whenever I have add a new using the line add new line button, I get a null pointer exception.

    Code in Scenario1.


    Public Sub handleCurrencyChangeEvent()

    {

    PVO OAViewObject = (OAViewObject) findViewObject ("xxCurrencyPVO1");

    Line OARow = (OARow) pvo.first ();

    OAViewObject dtlVO = (OAViewObject) findViewObject ("xxEcreditCardDtlVO1");

    OARow dtlRow = (OARow) dtlVO.getCurrentRow ();

    String currency = (String) dtlRow.getAttribute ("CurrencyCode");    / / NULL POINTER EXCEPTION

    If ((currency == null) |) ("AED".equals (currency)))

    {

    row.setAttribute ("ExchangeRateTypeRender", Boolean.FALSE);

    row.setAttribute ("ExchangeRateDateRender", Boolean.FALSE);

    row.setAttribute ("ExchangeRateRender", Boolean.FALSE);

    }

    on the other

    {

    row.setAttribute ("ExchangeRateTypeRender", Boolean.TRUE);

    row.setAttribute ("ExchangeRateDateRender", Boolean.TRUE);

    row.setAttribute ("ExchangeRateRender", Boolean.TRUE);

    }

    }

    Public Sub initPVO()

    {

    OAViewObject appPropsVO = (OAViewObject) findViewObject ("xxCurrencyPVO1");

    If (appPropsVO! = null)

    {

    If (appPropsVO.getFetchedRowCount () == 0)

    {

    appPropsVO.setMaxFetchSize (0);

    appPropsVO.executeQuery ();

    appPropsVO.insertRow (appPropsVO.createRow ());

    Line OARow = (OARow) appPropsVO.first ();

    row.setAttribute ("RowKey", new Number (1));

    }

    }

    handleCurrencyChangeEvent();    / / If I comment on this call, there will be no null pointer when I click on the button Add a new rank and PPR will not be the first line when I select the poplist.                 

    }

    Public Sub createDetailRow()

    {

    String hdrId;

    OAViewObject hdrvo1 = (OAViewObject) getxxEcreditCardHdrVO1 ();

    OAViewObject dtlvo = (OAViewObject) getxxEcreditCardDtlVO1 ();

    Initialize and create a line of VO

    If (! dtlvo.isPreparedForExecution ())

    {

    dtlvo.setMaxFetchSize (0);

    dtlvo.executeQuery ();

    }

    Line dtlrow = dtlvo.createRow ();

    dtlvo.executeQuery ();

    int count = dtlvo.getRowCount ();

    dtlvo.insertRowAtRangeIndex (count, dtlrow);

    Development of the sequence for the number of request *.

    Number of dtlseq = getOADBTransaction () .getSequenceValue ("xxdm. XXDMI_ECREDIT_CARD_DTL_SEQ");

    hdrId = hdrvo1.getCurrentRow ().getAttribute("CreditCardHdrId").toString (); mind vo

    dtlrow.setAttribute ("CreditCardHdrId", hdrId);

    dtlrow.setAttribute ("CreditCardLineId", dtlseq);

    dtlrow.setAttribute ("LineNumber", count + 1);

    End of sequence generation *.

    dtlrow.setAttribute ("CurrencyCode", "AED");

    String currency = (String) dtlrow.getAttribute ("CurrencyCode");

    System.out.println ("CurrencyCode:" + currency);

    dtlrow.setNewRowState (Row.STATUS_INITIALIZED);

    } / / end createDetailRow()

    ' Public Sub processFormRequest (pageContext OAPageContext, OAWebBean webBean)

    {

    super.processFormRequest (pageContext, webBean);

    OAApplicationModule am = pageContext.getApplicationModule (webBean);

    Event string = pageContext.getParameter (OAWebBeanConstants.EVENT_PARAM);

    * Treatment add line button *.

    If ((ADD_ROWS_EVENT. Equals (Event)) & & "AdvTblRN".equals (pageContext.getParameter ("source"))) ".

    {

    am.invokeMethod ("createDetailRow", null);

    am.invokeMethod ("initPVO");

    } //**End add row button *.

    otherwise if

    ("currCodeChangeEvent".equals (pageContext.getParameter (OAWebBeanConstants.EVENT_PARAM)))

    {

    am.invokeMethod ("handleCurrencyChangeEvent");

    }

    ===========================================================================================================================

    Could please help what is wrong in the code, I followed all the steps as stated in the guide, but the table advance, the problem starts whenever I click on the button Add a new row for the creation of new line.

    I couldn't understand what was wrong with the code.

    Thanks in advance,

    Suman

    Suman,

    A few points:

    1. Why do you call handleCurrencyChangeEvent in the event to add a line? Simply set the useful, likely of the values in the line it himself.

    ex:-instead of calling the handleCurrenyChange method, simply add the below lines inside the createDetailRow()

    dtlrow.setAttribute ("ExchangeRateTypeRender", Boolean.FALSE);

    dtlrow.setAttribute ("ExchangeRateDateRender", Boolean.FALSE);

    dtlrow.setAttribute ("ExchangeRateRender", Boolean.FALSE);

    2. it looks like you have on the field of the currency and that fireAction handleCurrencyChangeEvent action method is called, right?

    Instead of using dtlVo.getCurrentRow, use the code below:

    public void handleCurrencyChangeEvent(String eventRowSourceParam)
      {
      OAViewObject pvo = (OAViewObject)findViewObject("xxCurrencyPVO1");
      OARow row = (OARow)pvo.first();
    
      OAViewObject dtlVO = (OAViewObject)findViewObject("xxEcreditCardDtlVO1");
    
      //OARow dtlRow = (OARow)dtlVO.getCurrentRow();
      OARow dtlRow = (OARow)this.findRowByRef(eventRowSourceParam);
    
      String  currency = (String)dtlRow.getAttribute("CurrencyCode");    // NULL POINTER EXCEPTION
    
      if ((currency == null) || ("AED".equals(currency)))
      {
      row.setAttribute("ExchangeRateTypeRender", Boolean.FALSE);
      row.setAttribute("ExchangeRateDateRender", Boolean.FALSE);
      row.setAttribute("ExchangeRateRender", Boolean.FALSE);
      }
      else
      {
      row.setAttribute("ExchangeRateTypeRender", Boolean.TRUE);
      row.setAttribute("ExchangeRateDateRender", Boolean.TRUE);
      row.setAttribute("ExchangeRateRender", Boolean.TRUE);
      }
      }
    

    In the controller:

    if((ADD_ROWS_EVENT.equals(event)) && "AdvTblRN".equals(pageContext.getParameter("source")) )
    {
      am.invokeMethod("createDetailRow",null);
      am.invokeMethod("initPVO");
    } //**End Add Row Button**
    else if ("currCodeChangeEvent".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
    {
      String eventRowSourceParam = pageContext.getParameter(EVENT_SOURCE_ROW_REFERENCE);
      Serializable[] params = {eventRowSourceParam};
        Class[] paramTypes    = {String.class};
      am.invokeMethod("handleCurrencyChangeEvent",params, paramTypes);
    }
    

    3. Why do you call initPVO when it is clicked on the Add line? Are you calling not just in the PR?

    You could call it once in the PR and let. When you call it PR, you may need to remove the handleCurrencyChangeEvent of this method call.

    See you soon

    AJ

  • How to make only two columns as editable in five online when the user clicks a line using adf 12.1.3.

    Hello

    I displays a table on the screen. This table is read only during the initial page load. I want to do only two columns as editable on five in a row when the user clicks a line using adf 12.1.3.

    Is it possible in the adf. If possible how to handle this. Please help on this.

    For example, drop table editable Full and then replace rest inputText (components entry in general) with af:outoutText, everything except those two.

    And use the clickToEdit feature...?

  • How to get the cursor to the first line after the addition of 3 rows in the OPS. Help, please.

    Hi Experts,

    I have a requirement to get the cursor should point to the first line instead of pointing to the third row. To the help of code below, my cursor points to the third row. Please put some light on it to reach the requirement

    XXCLKTestVOImpl vo = getXXCLKTestVO1();

    for (int i = 0; i < 3; i ++) {}

    Line = vo.createRow ();

    vo.insertRow (row);

    row.setNewRowState (Row.STATUS_INITIALIZED);

    }

    Thank you

    Gurnur Singh

    Problem is solved. Since then, I've been on 12.2.4 Ebs version and was auto insert false setting in AddtablerowBean. To reach the requirement, you will need to refer to the same number of lines to add the addtablerowbean property that you use in loop for. here I use 3 looping so you must use the number 3 lines to add the addtablerowbean property to get there. So whenever you add three rows then cursor in the first row of three lines you will add. Thank you all.

    Thank you

    Gurnur Singh

  • ListField.drawListRow only draws a line in the first row, all the lines.

    I'm close. ListField.drawListRow is called for every row without problem, but the two graphics.drawLine only are displayed (shot) in the first row at the point of coordinates noted.

    I thought that each line would get the two drawn drawLines?

    Graphics.Clear is called correctly (as a test only - I have commented out them as well, but not changes).

    How can I get the two Graphics.drawLine at the bottom of the method called for each line, correctly?

    public void drawListRow(ListField listField, Graphics graphics, int index,
            int y, int width) {
        Logger.debug("CoffeeStoreContent [drawListRow] y: " + y + " width: " + width);
        /*
         * Top Margin
         */
        y += appGraphics.calcHiRes(6);
    
        int[] colors = appGraphics.getColorPalette(sportTitle);
    
        /*
         * Get the current CoffeeStore object.
         */
        CoffeeStore currentRow = (CoffeeStore) get(listField, index);
    
        StringBuffer subline = new StringBuffer(currentRow.getSource());
        subline.append(Characters.SPACE);
        subline.append("|");
        subline.append(Characters.SPACE);
        subline.append(currentRow.getDateAgo());
    
        int HiX = 43;
    
        if (graphics.isDrawingStyleSet(Graphics.DRAWSTYLE_FOCUS)) {
            graphics.clear();
            graphics.setColor(AppGraphics.YELLOW_HIGHLIGHT);
            graphics.fillRect(0, (index * listField.getRowHeight()),
                    listField.getWidth(), listField.getRowHeight());
    
            graphics.setFont(font);
            graphics.setColor(Color.BLACK);
            graphics.drawText(currentRow.getLinkText(), HiX, y, 0, width);
    
            graphics.setColor(AppGraphics.TEIGHT);
            graphics.drawText(subline.toString(), HiX, (y
                    + graphics.getFont().getHeight() + 2), 0, width);
        } else {
            graphics.clear();
            graphics.setColor(colors[0]);
            graphics.fillRect(0, (index * listField.getRowHeight()),
                    listField.getWidth(), listField.getRowHeight());
    
            graphics.setFont(font);
            graphics.setColor(AppGraphics.TSIX);
            graphics.drawText(currentRow.getLinkText(), HiX, y, 0, width);
    
            graphics.setColor(Color.WHITE);
            graphics.drawText(subline.toString(), HiX, (y
                    + graphics.getFont().getHeight() + 2), 0, width);
        }
    
        graphics.setColor(colors[2]);
        graphics.drawLine(0, 50, width, 50);
        graphics.setColor(colors[3]);
        graphics.drawLine(0, 51, width, 51);
    }
    

    No - only y + 50 is enough.

  • Apex 5.0.2 error when changing the table name in the treatment of automatic line of process (process row)

    Hello

    I need a little help...

    For some reason, I have to change the underlying table for a treatment of automatic process (process Row) line (form).

    Although such a change is possible in the designer of the page (under "settings") Apex does not recognize the new name of the table, but seem to rather use the name of the original table "old."

    Pretty strange (new/modified) (the new table columns) are (correctly) error message.

    For example, the 'old' is: TABLE_1 and TABLE_2 new.

    TABLE_2 has a new COLUMN_NEW column (and corresponding P1234_COLUMN_NEW page element exists)

    Then the error message says something like: not found COLUMN_NEW column in TABLE_1. Althougt I changed the table to be TABLE_2.

    Maybe it's a bug or I do something wrong about this?

    Thank you in advance!

    André

    OK, just to get some - you changed the name of the table twice:

    -Rendering of section--> Page1234: Pagename--> pre-rendering--> after the header--> process of--> line from TABLE_2

    -Treatment article--> treatment--> process--> process of line from TABLE_2

    I thought, that always seek you the line of TABLE_1

    Christian

  • Mr President, how can I enter two rows at the same time with different default values that only the first line to use see?

    Mr President.

    My worm jdev is 12.2.1

    How to enter two rows at the same time with different default values that only the first line to use see?

    Suppose I have a table with four fields as below

    "DEBIT" VARCHAR2(7) , 
      "DRNAME" VARCHAR2(50),
      "CREDIT" VARCHAR2(7) , 
      "CRNAME" VARCHAR2(50),
    

    Now I want that when I click on a button (create an insert) to create the first line with the default values below

    firstrow.png

    So if I click on the button and then validate the second row with different values is also inserted on commit.

    The value of the second row are like the picture below

    tworows.png

    But the second row should be invisible. It could be achieved by adding vc in the vo.

    The difficult part in my question is therefore, to add the second row with the new default values.

    Because I already added default values in the first row.

    Now how to add second time default values.

    Concerning

    Mr President

    I change the code given by expensive Sameh Nassar and get my results.

    Thanks once again dear Sameh Nassar .

    My code to get my goal is

    First line of code is

        protected void doDML(int operation, TransactionEvent e) {    
    
            if(operation != DML_DELETE)
                 {
                     setAmount(getPurqty().multiply(getUnitpurprice()));
                 } 
    
            if (operation == DML_INSERT )
                       {
                               System.out.println("I am in Insert with vid= " + getVid());
                           insertSecondRowInDatabase(getVid(),getLineitem(),"6010010","SALES TAX PAYABLE",
                            (getPurqty().multiply(getUnitpurprice()).multiply(getStaxrate())).divide(100));      
    
                           }
    
            if(operation == DML_UPDATE)
                              {                                                    
    
                                 System.out.println("I am in Update with vid= " + getVid());
                             updateSecondRowInDatabase(getVid(),
                                 (getPurqty().multiply(getUnitpurprice()).multiply(getStaxrate())).divide(100));      
    
                              }                      
    
            super.doDML(operation, e);
        }
        private void insertSecondRowInDatabase(Object value1, Object value2, Object value3, Object value4, Object value5)
                  {
                    PreparedStatement stat = null;
                    try
                    {
                      String sql = "Insert into vdet (VID,LINEITEM,DEBIT,DRNAME,AMOUNT) values " +
                 "('" + value1 + "','" + value2 + "','" + value3 + "','" + value4 + "','" + value5 + "')";  
    
                      stat = getDBTransaction().createPreparedStatement(sql, 1);
                      stat.executeUpdate();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                    finally
                    {
                      try
                      {
                        stat.close();
                      }
                      catch (Exception e)
                      {
                        e.printStackTrace();
                      }
                    }
                  }  
    
                  private void updateSecondRowInDatabase(Object value1, Object value5)
                  {
                    PreparedStatement stat = null;
                    try
                    {
                      String sql = "update vdet set  AMOUNT='"+ value5+"' where VID='" + value1 + "'";                     
    
                      stat = getDBTransaction().createPreparedStatement(sql, 1);  
    
                      stat.executeUpdate();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                    finally
                    {
                      try
                      {
                        stat.close();
                      }
                      catch (Exception e)
                      {
                        e.printStackTrace();
                      }
                    }                  
    
                  }
    

    Second line code is inside a bean method

        public void addNewPurchaseVoucher(ActionEvent actionEvent) {
            // Add event code here...
    
            BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
                   DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("VoucherView1Iterator");
                   RowSetIterator rsi = dciter.getRowSetIterator();
                   Row lastRow = rsi.last();
                   int lastRowIndex = rsi.getRangeIndexOf(lastRow);
                   Row newRow = rsi.createRow();
                   newRow.setNewRowState(Row.STATUS_NEW);
                   rsi.insertRowAtRangeIndex(lastRowIndex +1, newRow);
                   rsi.setCurrentRow(newRow);
    
                   BindingContainer bindings1 = BindingContext.getCurrent().getCurrentBindingsEntry();
                   DCIteratorBinding dciter1 = (DCIteratorBinding) bindings1.get("VdetView1Iterator");
                   RowSetIterator rsi1 = dciter1.getRowSetIterator();
                   Row lastRow1 = rsi1.last();
                   int lastRowIndex1 = rsi1.getRangeIndexOf(lastRow1);
                   Row newRow1 = rsi1.createRow();
                   newRow1.setNewRowState(Row.STATUS_NEW);
                   rsi1.insertRowAtRangeIndex(lastRowIndex1 +1, newRow1);
                   rsi1.setCurrentRow(newRow1);
        }
    

    And final saveUpdate method is

        public void saveUpdateButton(ActionEvent actionEvent) {
            // Add event code here...
    
            BindingContainer bindingsBC = BindingContext.getCurrent().getCurrentBindingsEntry();      
    
                   OperationBinding commit = bindingsBC.getOperationBinding("Commit");
                   commit.execute(); 
    
            OperationBinding operationBinding = BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Commit");
            operationBinding.execute();
            DCIteratorBinding iter = (DCIteratorBinding) BindingContext.getCurrent().getCurrentBindingsEntry().get("VdetView1Iterator");// write iterator name from pageDef.
            iter.getViewObject().executeQuery();  
    
        }
    

    Thanks for all the cooperation to obtain the desired results.

    Concerning

  • First Row of the detail line VO iterator is null

    With the help of the advanced table add row I found only the second time that a user adds a new record, I am unable to access the registration in the VO.  This happens on a VO detail which I access via a master record of the VO.  I'm trying to delete the record before it was recorded in the database by going to the line in the VO.  But, as I said, the second time that a user performs these actions (adding record and then delete the folder) Nothing in retail VO.

    I thought to use a named RowSetIterator, but I don't see how I can do since the accessor on the master VO returns a RowIterator.  Any idea what can happen?

    If (id == null: id.equals("")) {}
    XxmclApInvoiceLinesPOLinesVOImpl invLinesVO = (XxmclApInvoiceLinesPOLinesVOImpl) getXxmclApInvoiceLinesPOLinesVO1 ();
    XxmclApInvoiceLinesPOLinesVORowImpl invLinesVORow = (XxmclApInvoiceLinesPOLinesVORowImpl) invLinesVO.getFirstFilteredRow ("LineNumber", lineNumber);
    RowIterator rowIter = invLinesVORow.getXxmclApInvoiceLineDiscrepanciesVO ();
    XxmclApInvoiceLineDiscrepanciesVORowImpl invLineDiscRow = (XxmclApInvoiceLineDiscrepanciesVORowImpl) rowIter.first ();
    While (invLineDiscRow! = null) {}
    If (invLineDiscRow.getDiscrepancyId () == null & & ((invLineDiscRow.getDiscrepancyTypeCode () == null & & discrepancyTypeCode.equals("")) |)) invLineDiscRow.getDiscrepancyTypeCode ()! = null & & invLineDiscRow.getDiscrepancyTypeCode () .equals (discrepancyTypeCode))) {}
    invLineDiscRow.remove ();
    break;
    }
    invLineDiscRow = (XxmclApInvoiceLineDiscrepanciesVORowImpl) rowIter.next ();
    }
    rowIter.reset ();
    }

    Thank you

    Try it below to get good detail View object.

    ViewLinkImpl viewLink = (ViewLinkImpl) findViewLink ("XXXXVL1"); Find your link view Instance

    ViewObject detailVo = viewLink.getDestination (); Make sure that the planned main line has been defined as the current of the Master View object line to get the exact details VO

    Thank you

  • How to take the second row under the first line

    Dear Sir

    take my table like that name stock and times

    STOCK Header 2 Header 3
    A20301:3002:00
    A20302:4003:00
    A20303:0204:00
    A20305:0006:00

    the cry of output be like below

    STOCK 1 2 3
    A20300:4000:0201:00

    1 column is

    02:40 - 02:00

    column 2 is

    03:02-03:00

    column 3 is

    05:00 - 04:00

    Kind regards

    Hello

    You can use the analytical function of LEAD (or GAL) to get the difference between hours.

    For the results in the form of 3 columns in 1 line (rather than 1 column on 3 rows) calculates the LEAD in a subquery.  In the same auxiliary request, you can use the function ROW_NUMBER analytic number lines 1, 2 and 3.  The main query then use this value to rotate out of the subquery.

    Depending on your data, your needs and your version of Oracle, it will be something like this:

    WITH got_analytics AS

    (

    SELECT stock

    LEAD (header_2) (PARTITION OF BOUILLON

    ORDER BY header_2

    ) - header_3 AS time_diff

    ROW_NUMBER () (PARTITION OF BROTH

    ORDER BY header_2

    ) AS r_num

    FROM my_table

    )

    SELECT *.

    OF got_analytics

    PIVOT (MIN (time_diff)

    FOR r_num (1, 2, 3)

    )

    ;

    I hope that answers your question.

    If this isn't the case, please post a small example data (CREATE TABLE and only relevant columns, INSERT statements) and also publish outcomes from these data.

    Explain, using specific examples, how you get these results from these data.

    Make sure that your sample data reflect important aspects of your actual data.  For example, in your actual data, you have probably different values in the column actions. Always say what version of Oracle you are using (for example, 11.2.0.2.0).

    See the FAQ forum: https://forums.oracle.com/message/9362002#9362002

  • ExportCollectionAction causes the current values of lines to be copied into the first row of the table

    Greetings experts,

    I use JDev 11.1.2.3

    I am faced with a really strange behavior of the exportCollectionActionListener. I have a table for each row in this table, a link that calls a popUp. This popUp tells the story of this selected save changes (means it displays data from a different table/VO, who keeps a history of the first) in a table. I have a button that calls the exportCollection for this second table. When I press on it, an excel file is generated and downloaded and everything is perfect until now. If there was not any which record in this table, and o back to the first, by pressing the button send is not track all changes. But if there where all records from this table of history (always talking about the history of the current line), go back to the first and press on submit, that the very first line of the table of fir trees, gets all of it's values as the last row of the second table, as it is copied from one to the other. I have to press on restore back to normal (note that the popUp has it's CancelListener to call a restore of a bean to support operation).

    Why is this happening?

    Thanks in advance

    I found a work around for this problem.

    I added the code that causes the whole view Refresh (ie: the whole page), the popUp cancelListener, also I changed the commandLink partialSubmit property and set it to true. It's not like totally cool watching the screen charge for this fragment of a second after the closure of the pop-up window, but it not the drill.

  • Update lines with the info from the other rows in the same Table.

    I'm trying to update the lines with the information of the same table. The table is loaded with information from a report that runs and there must be a new entry every month, but I would like to bring some of the info from the last month. This statement below works but updates all rows in the new load table and in my test case, I only did a few game only like 5 files need to get updates. It is an example of what I'm trying to do. If I add this (C2. COL_INVC_ID = C1. COL_INVC_ID) until the last "* where *" statement get an invalid identifier for 'C2 '. COL_INVC_ID ". So what I'm doing wrong here? How can I update only the lines where also in recent months run?

    Thanks in advance for any help!

    ------------
    Update OpenIssues OI1
    Together (OI1. NUM, OI1. Status, OI1. Code, OI1. LastModifiedDate) =
    (Select ios2. NUM, ios2. Status, ios2. Code, ios2. LastModifiedDate
    Of OpenIssues ios2
    Where OI2.num = OI1.num and ios2. TableLoadDate = TO_DATE (January 31, 2012 00:00:00 ',' ' the HH24: MI: SS DD/MM/YYYY)
    )
    Where and OI1. TableLoadDate = TO_DATE (February 29, 2012 00:00:00 ',' ' the HH24: MI: SS DD/MM/YYYY)
    ------------


    SQLMe

    As Frank suggested merger is much effective here, go...

      create table  temp
    as(
    select 1 eno, 1 amt , sysdate load_date from dual union all
    select 1 eno, 2 amt , add_months(sysdate,1) load_date from dual union all
    select 2 eno, 1 amt , sysdate load_date from dual union all
    select 2 eno, 2 amt , add_months(sysdate,1) load_date from dual
    );
    
    merge into temp t
    using (select eno, amt, load_date
             from temp
            where trunc(Load_Date) = TO_DATE('05/30/2012', 'MM/DD/YYYY')) s
    on ((s.eno = t.eno) and trunc(t.Load_Date) = TO_DATE('06/30/2012', 'MM/DD/YYYY'))
    when matched then
      update set t.amt = s.amt;
    commit;
    
    select * from temp;
    
  • Add more than 2 lines for a select statement without inserting rows in the base table

    Hi all

    I have a below a simple select statement that is querying a table.

    Select * from STUDY_SCHED_INTERVAL_TEMP
    where STUDY_KEY = 1063;

    but here's the situation. As you can see its return 7 ranks. But I must add
    2 rows more... with everything else, default or what exist... except the adding more than 2 lines.
    I can't insert in the base table. I want my results to end incrementing by 2 days in
    measurement_date_Taken on 01-APR-09... so big measurement_date_taken expected to
    end at study_end_Date...



    IS IT STILL POSSIBLE WITHOUT INSERT ROWS IN THE TABLE AND PLAYIHY ALL AROUND WITH
    THE SELECT STATEMENT?

    Sorry if this is confusing... I'm on 10.2.0.3

    Published by: S2K on August 13, 2009 14:19

    Well, I don't know if this request is as beautiful as my lawn, but seems to work even when ;)
    I used the "simplified" version, but the principle should work for your table, S2K.
    As Frank has already pointed out (and I fell on it while clunging): simply select your already existing lines and union them with the 'missing documents', you calculate the number of days that you are "missing" based on the study_end_date:

    MHO%xe> alter session set nls_date_language='AMERICAN';
    
    Sessie is gewijzigd.
    
    Verstreken: 00:00:00.01
    MHO%xe> with t as ( -- generating your data here, simplified by me due to cat and lawn
      2  select 1063 study_key
      3  ,      to_date('01-MAR-09', 'dd-mon-rr') phase_start_date
      4  ,      to_date('02-MAR-09', 'dd-mon-rr') measurement_date_taken
      5  ,      to_date('01-APR-09', 'dd-mon-rr') study_end_date
      6  from dual union all
      7  select 1063, to_date('03-MAR-09', 'dd-mon-rr') , to_date('04-MAR-09', 'dd-mon-rr') , to_date('01-APR-09', 'dd-mon-rr') from dual union all
      8  select 1063, to_date('03-MAR-09', 'dd-mon-rr') , to_date('09-MAR-09', 'dd-mon-rr') , to_date('01-APR-09', 'dd-mon-rr') from dual union all
      9  select 1063, to_date('03-MAR-09', 'dd-mon-rr') , to_date('14-MAR-09', 'dd-mon-rr') , to_date('01-APR-09', 'dd-mon-rr') from dual union all
     10  select 1063, to_date('03-MAR-09', 'dd-mon-rr') , to_date('19-MAR-09', 'dd-mon-rr') , to_date('01-APR-09', 'dd-mon-rr') from dual union all
     11  select 1063, to_date('22-MAR-09', 'dd-mon-rr') , to_date('23-MAR-09', 'dd-mon-rr') , to_date('01-APR-09', 'dd-mon-rr') from dual union all
     12  select 1063, to_date('22-MAR-09', 'dd-mon-rr') , to_date('30-MAR-09', 'dd-mon-rr') , to_date('01-APR-09', 'dd-mon-rr') from dual
     13  ) -- actual query:
     14  select study_key
     15  ,      phase_start_date
     16  ,      measurement_date_taken
     17  ,      study_end_date
     18  from   t
     19  union all
     20  select study_key
     21  ,      phase_start_date
     22  ,      measurement_date_taken + level -- or rownum
     23  ,      study_end_date
     24  from ( select study_key
     25         ,      phase_start_date
     26         ,      measurement_date_taken
     27         ,      study_end_date
     28         ,      add_up
     29         from (
     30                select study_key
     31                ,      phase_start_date
     32                ,      measurement_date_taken
     33                ,      study_end_date
     34                ,      study_end_date - max(measurement_date_taken) over (partition by study_key
     35                                                                          order by measurement_date_taken ) add_up
     36                ,      lead(measurement_date_taken) over (partition by study_key
     37                                                          order by measurement_date_taken ) last_rec
     38                from   t
     39              )
     40         where last_rec is null
     41       )
     42  where rownum <= add_up
     43  connect by level <= add_up;
    
     STUDY_KEY PHASE_START_DATE    MEASUREMENT_DATE_TA STUDY_END_DATE
    ---------- ------------------- ------------------- -------------------
          1063 01-03-2009 00:00:00 02-03-2009 00:00:00 01-04-2009 00:00:00
          1063 03-03-2009 00:00:00 04-03-2009 00:00:00 01-04-2009 00:00:00
          1063 03-03-2009 00:00:00 09-03-2009 00:00:00 01-04-2009 00:00:00
          1063 03-03-2009 00:00:00 14-03-2009 00:00:00 01-04-2009 00:00:00
          1063 03-03-2009 00:00:00 19-03-2009 00:00:00 01-04-2009 00:00:00
          1063 22-03-2009 00:00:00 23-03-2009 00:00:00 01-04-2009 00:00:00
          1063 22-03-2009 00:00:00 30-03-2009 00:00:00 01-04-2009 00:00:00
          1063 22-03-2009 00:00:00 31-03-2009 00:00:00 01-04-2009 00:00:00
          1063 22-03-2009 00:00:00 01-04-2009 00:00:00 01-04-2009 00:00:00
    
    9 rijen zijn geselecteerd.
    

    Is there a simpler way (in SQL), I hope that others join, and share their ideas/example/thoughts.
    I feel that it is using more resources there.
    But I have to cut the daisies before now, they interfere my 'grass-green-ess";)

  • TKPROF output - lines processed / rows in the table anomaly?

    Hello

    TKPROF confusion for me more...

    Oracle 10.2.0.4 on Windows Server 2003.

    I formatted my Trace SQL with TKPROF file and the first query that I am focusing me causes some confusion. It's here (the names have been changed to protect the innocent, but everything remains intact):
    ********************************************************************************
    
    SELECT A.COL1, A.COL2, MIN(A.COL3) AS 
      COL_SYNONYM 
    FROM
     OUR_TABLE A WHERE NVL(A.COL4, NVL(:B4 , -1)) = NVL(:B4 , 
      NVL(A.COL4, -1)) AND NVL(A.COL5, NVL(:B3 , -1)) = NVL(:B3 , 
      NVL(A.COL5, -1)) AND A.COL6 = NVL(:B2 , A.COL6) AND 
      A.COL7 = NVL(:B1 , 1) GROUP BY A.COL1, A.COL2 ORDER 
      BY A.COL1, A.COL2
    
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse        1      0.00       0.00          0          0          0           0
    Execute     83      0.01       0.01          0          0          0           0
    Fetch       83      1.01       1.11         12       3154          0      260371
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total      167      1.03       1.13         12       3154          0      260371
    
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 148  (OUR_SCHEMA)   (recursive depth: 2)
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
     260371  SORT GROUP BY (cr=3154 pr=12 pw=0 time=956798 us)
     260371   CONCATENATION  (cr=3154 pr=12 pw=0 time=1072560 us)
     260371    FILTER  (cr=3154 pr=12 pw=0 time=630121 us)
     260371     TABLE ACCESS FULL OUR_TABLE (cr=3154 pr=12 pw=0 time=306867 us)
          0    FILTER  (cr=0 pr=0 pw=0 time=201 us)
          0     TABLE ACCESS FULL OUR_TABLE (cr=0 pr=0 pw=0 time=0 us)
    
    
    Rows     Execution Plan
    -------  ---------------------------------------------------
          0  SELECT STATEMENT   MODE: ALL_ROWS
     260371   SORT (GROUP BY)
     260371    CONCATENATION
     260371     FILTER
     260371      TABLE ACCESS   MODE: ANALYZED (FULL) OF 'OUR_TABLE' 
                     (TABLE)
          0     FILTER
          0      TABLE ACCESS   MODE: ANALYZED (FULL) OF 'OUR_TABLE' 
                     (TABLE)
    
    
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      db file scattered read                          2        0.01          0.02
    ********************************************************************************
    What confuses me is that 'lines' (column 'lines' for the operation "Fetch" = * 260371 *, also 'lines' in the 'line Source operation' and "The execution Plan" = * 260371 *).

    Actual number of rows in the table = * 3138 *.


    I think that because we have performed 83 times, then the value of "lines" should be:
    83 x number_of_rows_in_table = 83 x 3138 = * 260454 *.

    What we have is 260371, who looks like me:
    3137 = 83 x 83 x ( number_of_rows_in_table - 1 )


    I misinterpreted the news (I guess I!)?

    Why seems to be number_of_rows_in_table - 1 ? (Or is it pure coincidence?)


    Kind regards

    ADOS

    That remains a record satisfied with the given list of a predicate in the WHERE clause?

    If this isn't the case, then I don't see anything wrong here.

  • View the information from the related table instead of the ID in several line datablock

    Hello

    I searched on the web, the forum and the documentation, but I have not found a solution to this problem:

    I have two tabs with a relationship of the master / detail of one-to-many. Block detail data shows several lines such that it can be several associations table of mater in the details and I want to display the description of the master data block instead of the field with the ID for each line in the block of retail.

    I tried to place an item with the option 'copy value', but then I lose the relationship of master / detail, because that is what forms wih the field id for linking blocks.

    Also, I've seen in other posts that I can use a view, but I can't understand how would I update or remove data then.

    The only thing that I realized is to the description field in its own datablock in the same tab, a relationship master / detail-detail (or master-detail-master). BTW, I don't think it's beautiful "formulas"programming"and it does too much for my needs."

    I guess it must be a trivial thing, but I don't know what to try next. Thanks in advance!

    Published by: user10278211 on Sep 17, 2008 20:13

    AAH, I think now I got your management!

    You have 1 Deptno and dname "XYZ" in the master and you want to display:

    EmpNo Ename DName
    1     User1 XYZ
    2     User2 XYZ
    

    -What?

    If so:

    1 create a new element in the retail block, let's call it DSP_DNAME, set database property to point to 'no '.
    2. create a POST-QUERY-Trigger on detail-block with the code: DETAILBLOCKNAME. DSP_DNAME: =: MASTERBLOCKNAME. DNAME;
    3. create WHEN-CREATE-RECORD-Trigger with the same code.

    That's all

  • How to create a static row in the bar graph line in obiee 11g?

    Hello

    I have a requirement where the user wants to see a line in the bar chart.
    Now, the line is just static, we have not available to draw the graphic line of data field.
    is there a way to create a static line in the chart and display it in the graphic line of bar ombo?

    Thanks in advance...

    for example, I have created static line '10' on the Forex and now using this column as line by line bar report, but it is not showing the extent of '10' line in the graph.

    Drag the column measures section of the graph (line - Vertical axis) to change this static value to create a prompt box edit and pass the value to the column using Variable presentation (as told by Fernando)

    Thank you

    Angelique

Maybe you are looking for