Return one row

This is part of SQL query in FROM clause:
select id, t, phase, time from measurement where phase=1 where id='1234'
This query can return more than one raw, but I need the only one, the latest one
I tried a lot of different stuff but no success!
Thanks

Gee, not sure if I got you right, but are you really sure that you need to do five (!) outer joins to your METNET table? Don’t forget, each join, be it NESTED LOOPS, HASH or MERGE, requires extra CPU and I/O resources…
Consider this query as a possible alternative:
SELECT tmh.heatid,
       decode(tempcb.phase_id, 1, tempcb.t) cb,
       decode(tempcb.phase_id, 2, tempcb.t) cb1,
       decode(tempcb.phase_id, 3, tempcb.t) blow1,
       decode(tempcb.phase_id, 4, tempcb.t) blow2,
       decode(tempcb.phase_id, 5, tempcb.t) blow3
  FROM heat_melt_proces_data hmpd,
       tmelted_heats tmh,
       (select t, sarza, phase_id
          from metnet
         where phase_id BETWEEN 1 AND 5) tempcb
WHERE hmpd.heatid=tmh.heatid
   and tempcb.sarza (+) = tmh.heatid
   and (to_char(hmpd.convertertappingendtime , 'YYYY-MM-DD HH24:MI') between '2006-06-10 22:30:01' and '2006-06-12 06:30:00')
order by tmh.heatid, hmpd.convertertappingendtime;And if I got you right regarding your TRANSFERTIME column, this is what you are looking for:
SELECT tmh.heatid,
       decode(tempcb.phase_id, 1, tempcb.t) cb,
       decode(tempcb.phase_id, 2, tempcb.t) cb1,
       decode(tempcb.phase_id, 3, tempcb.t) blow1,
       decode(tempcb.phase_id, 4, tempcb.t) blow2,
       decode(tempcb.phase_id, 5, tempcb.t) blow3
  FROM heat_melt_proces_data hmpd,
       tmelted_heats tmh,
       (select * from
               (select t, sarza, phase_id,
                       row_number() over
                         (partition by sarza, phase_id order by transfertime desc) rn
                  from metnet
                 where phase_id BETWEEN 1 AND 5)
          where rn = 1) tempcb
WHERE hmpd.heatid=tmh.heatid
   and tempcb.sarza (+) = tmh.heatid
   and (to_char(hmpd.convertertappingendtime , 'YYYY-MM-DD HH24:MI') between '2006-06-10 22:30:01' and '2006-06-12 06:30:00')
order by tmh.heatid, hmpd.convertertappingendtime;
Tip: converting DATEs into VARCHARs and using BETWEEN <varchar-const> AND <varchar-const> is generally an ouch-ouch approach.

Similar Messages

  • How just return one row of a one to many join..

    So I have a one to many join where the SMOPERATOR table has data I need however it has a couple of rows that match the JOIN condition in there. I just need to return one row. I think this can be accomplished with a subquery in the join however have not been able to come up with the right syntax to do so.
    So:
    SELECT "NUMBER" as danumber,
    NAME,
    SMINCREQ.ASSIGNMENT,
    SMOPERATOR.PRIMARY_ASSIGNMENT_GROUP,
    SMOPERATOR.WDMANAGERNAME,
    SMINCREQ.owner_manager_name,
    SMINCREQ.subcategory, TO_DATE('01-'||TO_CHAR(open_time,'MM-YYYY'),'DD-MM-YYYY')MONTHSORT,
    (CASE WHEN bc_request='f' THEN 'IAIO'
    WHEN (bc_request='t' and substr(assignment,1,3)<>'MTS') THEN 'RARO'
    WHEN (bc_request='t' and substr(assignment,1,3)='MTS') THEN 'M'
    ELSE 'U' end) as type
    from SMINCREQ
    left outer join SMOPERATOR on SMINCREQ.assignment=SMOPERATOR.primary_assignment_group
    WHERE SMINCREQ.owner_manager_name=:P170_SELECTION and SMOPERATOR.wdmanagername=:P170_SELECTION
    AND open_time BETWEEN to_date(:P170_SDATEB,'DD-MON-YYYY') AND to_date(:P170_EDATEB,'DD-MON-YYYY')
    AND
    (bc_request='f' and subcategory='ACTIVATION' and related_record<>'t')
    OR
    (bc_request='f' and subcategory<>'ACTIVATION')
    OR
    (bc_request='t' and substr(assignment,1,3)<>'MTS')
    order by OPEN_TIMe

    Hi,
    This sounds like a Top-N Query , where you pick N items (N=1 in this case) off the top of an orderded list. I think you want a separate ordered list for each assignment; the analytic ROW_NUMBER function does that easily.
    Since you didn't post CREATE TABLE and INSERT statements for your sample data, I'll use tables from the scott schema to show how this is done.
    Say you have a query like this:
    SELECT       d.dname
    ,       e.empno, e.ename, e.job, e.sal
    FROM       scott.dept  d
    JOIN       scott.emp   e  ON   d.deptno = e.deptno
    ORDER BY  dname
    ;which produces this output:
    DNAME               EMPNO ENAME      JOB              SAL
    ACCOUNTING           7934 MILLER     CLERK           1300
    ACCOUNTING           7839 KING       PRESIDENT       5000
    ACCOUNTING           7782 CLARK      MANAGER         2450
    RESEARCH             7876 ADAMS      CLERK           1100
    RESEARCH             7902 FORD       ANALYST         3000
    RESEARCH             7566 JONES      MANAGER         2975
    RESEARCH             7369 SMITH      CLERK            800
    RESEARCH             7788 SCOTT      ANALYST         3000
    SALES                7521 WARD       SALESMAN        1250
    SALES                7844 TURNER     SALESMAN        1500
    SALES                7499 ALLEN      SALESMAN        1600
    SALES                7900 JAMES      CLERK            950
    SALES                7698 BLAKE      MANAGER         2850
    SALES                7654 MARTIN     SALESMAN        1250Now say you want to change the query so that it only returns one row per department, like this:
    DNAME               EMPNO ENAME      JOB              SAL
    ACCOUNTING           7782 CLARK      MANAGER         2450
    RESEARCH             7876 ADAMS      CLERK           1100
    SALES                7499 ALLEN      SALESMAN        1600where the empno, ename, job and sal columns on each row of output are all taken from the same row of scott.emp, though it doesn't really matter which row that is.
    One way to do it is to use the analytic ROW_NUMBER function to assign a sequence of unique numbers (1, 2, 3, ...) to all the rows in each department. Since each sequence startw with 1, and the numbers are unique within a department, there will be exactly one row per departement that was assigned the numebr 1, and we''ll display that row.
    Here's how to code that:
    WITH     got_r_num     AS
         SELECT     d.dname
         ,     e.empno, e.ename, e.job, e.sal
         ,     ROW_NUMBER () OVER ( PARTITION BY  d.dname
                                   ORDER BY          e.ename
                           )         AS r_num
         FROM     scott.dept  d
         JOIN     scott.emp   e  ON   d.deptno = e.deptno
    SELECT       dname
    ,       empno, ename, job, sal
    FROM       got_r_num
    WHERE       r_num     = 1
    ORDER BY  dname
    ;Notice that he sub-query got_r_num is almost the same as the original query; only it has one additional column, r_num, in the SELECT clause, and the sub-qeury does not have an ORDER BY clause. (Sub-queries almost never have an ORDER BY clause.)
    The ROW_NUMBER function must have an ORDER BY clause. In this example, I used "ORDER BY ename", meaning that, within each department, the row with the first ename (in sort order) will get r_num=1. You can use any column, or expression, or expressions in the ORDER BY clause. You muight as well use something consistent and predictable, like ename, but if you really wanted arbitrary numbering you could use a constant in the analytic ORDER BY clause, e.g. "ORDER BY NULL".

  • How to return one ROW with Multiple value seperated by Colon in a SQL Query

    Hi,
    I have a SQL query as mentioned.
    select deptno
      from deptI want to mofidfy this query, so that this should return me department list with colon delimeted in one ROW.
    10:20:30:40.......Thanks,
    Deepak

    In 10g:
    select rtrim(xmlagg(xmlparse(content deptno || ':')).getstringval(), ':') data
    from   dept;
    DATA                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
    10:20:30:40with apologies for the abuse of XML...

  • Returning one row in  a view(only)

    Is there any function that I can use to return just one row from a query?
    I tryed the old LIMIT TO from rdb, but its useless...
    I´m using a Oracle8

    Try using "where ROWNUM = 1" for the first row returned by the select

  • Returning one row per group

    I apologize if this is a duplicate of some other post, but I'm not finding this exact scenario.
    Assume that I have a table that looks like this:
    select * from PROD_TABLE
    PROD DESCRIPTION
    1234 CANDLES
    1234 CANDLE
    1235 BRAKE PADS
    1235 BRAKE PAD
    (Yes, I know, I know, but it's for a POC, so dirty data will be cleaned up later.)
    What I'd like to do is create a select statement that returns two rows from this table, one row for Prod 1234, one row for Prod 1235, and I DON'T CARE which description is returned for the corresponding Prod. For the POC, it's just not important which one is returned.
    How can I craft the select statement?

    try this
    SQL> with t as (select 1234 prod, 'CANDLES' dec from dual union all
      2  select 1234 ,'CANDLE' dec from dual union all
      3  select 1235 ,'BRAKE PADS' dec from dual union all
      4  select 1235 ,'BRAKE PAD' dec from dual)
      5  SELECT prod, DEC
      6    FROM ( SELECT a.*
      7                , ROW_NUMBER ( ) OVER ( PARTITION BY prod ORDER BY prod ) rn
      8            FROM t a )
      9   WHERE rn = 1
    10  /
          PROD DEC
          1234 CANDLES
          1235 BRAKE PADS
    SQL>

  • Result Set only returning one row...

    When I run the following query in my program, I only get one row.
    SELECT * FROM (SELECT * FROM ul_common_log_event WHERE application_name = 'Configuration' ORDER BY cle_id DESC) WHERE ROWNUM <= 500;
    However when I run it in TOAD, I get all the rows I am looking for.
    Here's my java
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(query);
    My record set only contain one row. I am using Oracle 9 OCI driver BTW.
    Any ideas? Thanks!

    Good thinking. That was the first thing I tried. That was not the problem. It turns out that I was stomping my rs object in another method. Problem resolved!
    Thanks for the reply!

  • Return one row (DISTINCT) in a query BEX

    Hi guru, i have this scenary:
    one infoset on ods with timestamp field and material code
    In the ODS i found many occurrence with same material code, but with many timestamp loading, es:
    material        timestamp
    00AAA          20070301
    00AAA          20070201
    00BBB          20070101
    in my query i want this result:
    00AAA          20070301
    00BBB          20070101
    Can i have help for this troble ?
    Thank's a lot.

    Hi,
    I think is not possible to do this in the query. I think you have to filter the ODS data. I would  build another DSO and would filter the data in the transformation. If you buid another DSO you can include the master data and you wouldn't need the infoset.
    Regards

  • Report Queries - Multiple Source queries - One source returns & one doesn't

    Hi Folks.
    Odd one here.
    I have a report query entry in the Shared Components of the APEX UI.
    Within the Query are two source queries.
    Both return unique column names.
    Both use the same bind variable.
    When generating a PDF using the call to the report, the data from one query is being returned and the data from another is not.
    I have generated a sample XML file from APEX which is populated with data for both queries.
    If I import this into MS-Word using the BIP plugin and generate a preview all is fine. All fields using data from both source queries are populated.
    When generated via a regular call within APEX it simply does not work. I only get the data from one query.
    Does anyone have any suggestions?
    Anyone had a similar thing?
    Any comments/suggestions welcome.
    Many thanks
    Dogfighter.
    Message was edited by:
    Dogfighter
    Message was edited by:
    Dogfighter

    Hi Marc
    Does this make sense to you?
    I have now set up a simple report query and report layout.
    The record ID is hard coded into the query so that it only returns one row.
    I am using an RTF based template.
    If I navigate to Shared Components > Report Queries > Edit Report Query and then press the 'Test Report' button it runs perfectly.
    If I copy the 'Print URL:' value from this page and use it as the URL target on any page in the app. it also works perfectly.
    If I try and execute the following...
    update invoice_summary
    set invoice_pdf = APEX_UTIL.GET_PRINT_DOCUMENT (127, -- App ID
    'TEST_INVOICE', -- query name
    'TEST_INVOICE') -- layout name
    where invoice_summary_gsm_id = a.INVOICE_ID;
    I get the pdf saved to the BLOB column with the field labels in place but no data.
    Three ways of running the report.
    Two of them work perfectly but the one I want (generate direct into BLOB column) does not. Why would the exact same report query & report layout work with the other two methods but not the GET_PRINT_DOCUMENT route?
    It's not as if the pdf does not get into the BLOB column, it does, but it only has the labels and no values.
    Any ideas?
    Simon.
    PS. I only have one report query and one report layout set up so as to avoid confusion. Both with the same name.
    Message was edited by:
    Dogfighter

  • Repaint One Row at a Time

    Hi,
    I have a graphical program that repaints every 2000 ms. I want to call another program that queries the Oracle dbase and returns one row at a time, so that in the graphical program, I see the value of the next row every 2000 ms. Any ideas on how I'd do this?
    I have the basics on resultsets and statements and using while(rs.next()), etc.. Thanks. Chris.

    Insert "Thread.sleep(2000);" at places where you want your program to wait for 2000 milliseconds.

  • Return first row entered based on date column

    I'm trying to select the first entered row in a table, as judged by the datetime column. If more than one row has the same date and time, then only one row should be returned (any row having that datetime is fine). Some processing will occur on that row and then it will be deleted. The select statement is used thereafter to select the next (first) entered row in the table, etc. This way, the rows are processed first-in first-out (FIFO) style. Here's my example table:
    create table my_table
    datetime date,
    firstname varchar2(50)
    insert into my_table(datetime, firstname) values(to_date('2012-04-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS'),'ken');
    insert into my_table(datetime, firstname) values(to_date('2012-04-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS'),'john');
    insert into my_table(datetime, firstname) values(to_date('2012-04-02 11:00:00', 'YYYY-MM-DD HH24:MI:SS'),'sue');
    commit;
    Here's my example select statement, which returns simply one row of the above, since all are the same date and time:
    SELECT *
    FROM my_table
    WHERE datetime = ( select min(datetime) from my_table )
    AND rownum = 1;
    My question is, if I use the following
    SELECT *
    FROM my_table
    WHERE datetime = ( select min(datetime) from my_table );
    It returns all 3 rows:
    DATETIME FIRSTNAME
    02-APR-12 11:00:00 ken
    02-APR-12 11:00:00 john
    02-APR-12 11:00:00 sue
    So, wouldn't setting rownum = 2 return john, and rownum = 3 return sue? For example,
    SELECT *
    FROM my_table
    WHERE datetime = ( select min(datetime) from my_table )
    AND rownum = 2;
    return no rows. I just want to make sure I'm understanding how the select statement above works. It seems to work fine for returning one row having the minimum date and time. If this is always the case, then everything is fine. But I wouldn't have expected it not to return one of the other rows when rownum is 2 or 3, which makes me question why? Maybe I can learn something here. Any comments much appreciated.
    Edited by: tem on Apr 2, 2012 2:06 PM

    Hi,
    tem wrote:
    ... So, wouldn't setting rownum = 2 return john, and rownum = 3 return sue? For example,, ROWNUM
    SELECT *
    FROM my_table
    WHERE datetime = ( select min(datetime) from my_table )
    AND rownum = 2;
    return no rows. I just want to make sure I'm understanding how the select statement above works. It seems to work fine for returning one row having the minimum date and time. If this is always the case, then everything is fine. But I wouldn't have expected it not to return one of the other rows when rownum is 2 or 3, which makes me question why? Maybe I can learn something here. Any comments much appreciated.ROWNUM is assigned as rows are fetched and considered for inclusion in the result set. If the row is not chosen for any reason, the same ROWNUM will be reused with the next row fetched. ROWNUM=2 will not be assigned until a row with ROWNUM=1 has been included in hte result set.
    So, in your example:
    SELECT  *
    FROM    my_table
    WHERE   datetime = ( select min(datetime) from my_table )
    AND     rownum = 2;Say the first row that happens to be fetched has firstname='ken'. It is assigned ROWNUM=1, and fails the WHERE clause condition "WHERE rownum = 2".
    Say the next row fetched has firstname='john'. ROWNUM=1 hasn't been used yet, so this row is also assigned ROWNUM=1, and it fails the WHERE clause for the same reason. Likewise with the next row; it also is assigned ROWNUM=1, and it also fails.
    When using ROWNUM in a WHERE clause, you almost always want to say "ROWNUM = 1" or "ROWNUM <= n".
    You could also use the analytic ROW_NUMBER function:
    WITH     got_r_num     AS
         SELECT     datetime, firstname
         ,     ROW_NUMBER () OVER (ORDER BY  datetime)     AS r_num
         FROM     my_table
    SELECT     datetime, firstname
    FROM     got_r_num
    WHERE     r_num     = 1
    ;Here, all values of r_num are available, so it would make sense to say things like "WHERE r_num = 2" or "WHERE r_num >= 2".
    Edited by: Frank Kulash on Apr 2, 2012 5:31 PM
    Added to explanation.

  • [CLOSED] MAX returning two rows

    Hi all,
    I need to write a query that return 1 row.
    If 'part 1' returns a value, the query needs to return null. If 'part 1' returns multiple values for latest_date, I need to return the latest of the dates.
    Currently, this is the query I have. However this query returns more than 1 row.
    Anny pointers are appreciated. Thanks
    select Max(transaction_table.latest_date)
    ,transaction_table.status
    from
    ---part 1
    (select
    sysdate latest_date
    ,'hello' status
    from dual
    UNION
    --part 2
    select
    NULL latest_date
    ,NULL status
    from dual) transaction_table
    group by transaction_table.status;
    RESULT:
    MAX(TRANSACTION_TABLE.LATEST_DATE) STATUS
    17-MAR-08 hello
    2 rows selected
    Message was edited by:
    user594688
    THANK YOU for all the replies

    Hi,
    max funtion never returns two rows :-)
    If 'part 1' returns a value, the query needs to
    return null. If 'part 1' returns multiple values for
    latest_date, I need to return the latest of the
    dates.It can't dual always return 1 row.
    So, why do you need part 2?
    >
    Currently, this is the query I have. However this
    query returns more than 1 row.
    This will make your query return one row, but that's probably not what you want:
    SQL> with md AS
      2    (select max(latest_date) max_date
      3     from
      4     ---part 1
      5       (select sysdate latest_date
      6              ,'hello' status
      7        from dual
      8       UNION
      9     --part 2
    10        select NULL latest_date
    11              ,NULL status
    12        from dual))
    13  select transaction_table.*
    14  from   md
    15        ,(select sysdate latest_date
    16                ,'hello' status
    17            from dual
    18         UNION
    19         select NULL latest_date
    20               ,NULL status
    21         from dual) transaction_table
    22  where md.max_date = transaction_table.latest_date;
    LATEST_DA STATU
    17-MAR-08 hello
    1 row selected.Regards
    Peter

  • Returning one result

    Ok. So, here is my issue, I am running a query on an oracle 10 database, through pl/sql developer. The result set returns something like this:
    ID Code
    A 001-012
    A 001-021
    A 001-032
    A 001-043
    B 001-023
    B 001-054
    B 001-003
    B 001-002
    B 001-007
    I would like it to return this
    ID Code
    A 001-012
    B 001-054
    The "Code"(ex. 001-043) does not matter, only has to return one for each ID (ex. A), but has to return every unique ID. The problem with it is that there is no one common "Code" for each "ID".
    I am sure this makes absolutely no sense...but if it does, and someone out there has any suggestions..would greatly appreciate it :)

    Shamrock wrote:
    N Gasparotto wrote:
    Shamrock wrote:
    I would like it to return this
    ID Code
    A 001-012
    B 001-054Why those two rows and not others instead ?
    I mean, why not the two following ones ?
    A 001-021
    B 001-003
    Are they getting randomly ?
    Nicolas.That's the thing, it doesn't matter which row it picks, as long as it only returns one row for each ID. That's why I am struggling I think
    Edited by: Shamrock on Jun 16, 2010 7:10 AMIf it doesn't matter which "code" it returns with the distinct "id", why select the "code" in the first place. You just said, in effect, it is meaningless.
    just SELECT DISTINCT ID ....

  • Report Builder 2.0 returning duplicate rows in query designer

    Hi,
    I have a query running off a model, when I explore the data in the model and in a standard sql table it returns one row for each record, which include a unique id for each which is correct.
    When I go into report builder query designer, it shows duplicate rows for each record. I have removed and added fields to try and pin point why and the only reason i can come up with is that it runs fine until I add in a field thats varchar(255) or
    varchar(max). This is when it starts to duplicate the records.
    Can anyone tell me why it does this or point me in the direction of how to stop this. I can't edit the query in text to add DISTINCT so thats not an option.
    Many thanks,
    JJSJ

    OK - I have found a partial answer.   By Googling Report Builder and VARCHAR, I found another post which reported problems with the semantic query builder when the underlying table/view was returning columns of type VARCHAR(MAX).   
    On looking at the length setting for the data column in the DSV,  this reported a length of 2,147,483,647 for this field.   This is very odd because on querying the underlying table the largest length that I can find for this column is 191,086
    (which is far larger than I would have expected - I am investigating this separately).
    However, why should the Report Model think that this field contains such a large value?
    Anyway,  the other post that I found reported that they had solved their problem by converting the field to a VARCHAR (255).    I tried this (by casting the column in my View to VARCHAR(255))  and this resolved the problem
    - no more duplicate rows when adding this field to the query!!!
    I also tried CASTING to TEXT and to VARCHAR(8000).  The former did not resolve the problem; the latter did.
    So I have a workaround but I don't understand why.  
    Can anybody explain why having a VARCHAR(max) column in my entity causes duplicate rows.    
    I suspect it is to do with the fact that for some reason the Report Model seems to think that there is an exceptionally long text string stored in this column in one of the rows but that again is a puzzle.
    Thanks
    Richard

  • TWO ERRO ORA-01427: single-row subquery returns more than one row

    Hi,
    I have a procedure which contains a cursor. If i run the select statement in the cursor separetly, it returns only value and works fine. But the same select statement in the cursor of a procedure throws me the error as below:
    TWO ERRO ORA-01427: single-row subquery returns more than one row
    Not sure what going on...any help appreciated.
    Below is the select statement:
    SELECT DISTINCT PSE.PARENT_POSITION_ID,
    (SELECT DISTINCT PPD1.SEGMENT2
    FROM PER_POSITION_DEFINITIONS PPD1,
    HR_ALL_POSITIONS_F HAPF2,
    PER_POS_STRUCTURE_ELEMENTS PSE2
    WHERE TRUNC(SYSDATE) BETWEEN
    HAPF2.EFFECTIVE_START_DATE AND
    HAPF2.EFFECTIVE_END_DATE
    AND PPD1.POSITION_DEFINITION_ID =
    HAPF2.POSITION_DEFINITION_ID
    AND
    HAPF2.POSITION_ID = PSE2.PARENT_POSITION_ID
    AND PSE2.PARENT_POSITION_ID =
    PSE.PARENT_POSITION_ID
    AND ROWNUM = 1) SEGMENT2,
    (SELECT DISTINCT PAPF1.FIRST_NAME || ' ' ||
    PAPF1.LAST_NAME CHIEF_NAME
    FROM PER_ALL_PEOPLE_F PAPF1,
    PER_ALL_ASSIGNMENTS_F PAAF1
    WHERE TRUNC(SYSDATE) BETWEEN
    PAPF1.EFFECTIVE_START_DATE AND
    PAPF1.EFFECTIVE_END_DATE
    AND TRUNC(SYSDATE) BETWEEN
    PAAF1.EFFECTIVE_START_DATE AND
    PAAF1.EFFECTIVE_END_DATE
    AND PAAF1.POSITION_ID = PSE.PARENT_POSITION_ID
    AND PAPF1.PERSON_ID = PAAF1.PERSON_ID
    AND ROWNUM = 1) CHIEF_NAME
    FROM PER_POS_STRUCTURE_ELEMENTS PSE,
    HR_ALL_POSITIONS_F HAPF,
    PER_POSITION_DEFINITIONS PPD
    WHERE PSE.SUBORDINATE_POSITION_ID = 52744
    AND TRUNC(SYSDATE) BETWEEN HAPF.EFFECTIVE_START_DATE AND
    HAPF.EFFECTIVE_END_DATE
    AND HAPF.POSITION_ID = PSE.SUBORDINATE_POSITION_ID
    AND HAPF.POSITION_DEFINITION_ID = PPD.POSITION_DEFINITION_ID;
    Thanks
    PK
    Edited by: user539616 on Jun 30, 2009 6:30 PM

    Hi,
    The cursor has a different parameter? Maybe the query is not exactly the same. Could you check this?
    This is your query (formatted):
    SELECT DISTINCT PSE.PARENT_POSITION_ID,
                    (SELECT DISTINCT PPD1.SEGMENT2
                       FROM PER_POSITION_DEFINITIONS   PPD1,
                            HR_ALL_POSITIONS_F         HAPF2,
                            PER_POS_STRUCTURE_ELEMENTS PSE2
                      WHERE TRUNC(SYSDATE) BETWEEN HAPF2.EFFECTIVE_START_DATE AND
                            HAPF2.EFFECTIVE_END_DATE
                        AND PPD1.POSITION_DEFINITION_ID = HAPF2.POSITION_DEFINITION_ID
                        AND HAPF2.POSITION_ID = PSE2.PARENT_POSITION_ID
                        AND PSE2.PARENT_POSITION_ID = PSE.PARENT_POSITION_ID
                        AND ROWNUM = 1) SEGMENT2,
                    (SELECT DISTINCT PAPF1.FIRST_NAME || ' ' || PAPF1.LAST_NAME CHIEF_NAME
                       FROM PER_ALL_PEOPLE_F      PAPF1,
                            PER_ALL_ASSIGNMENTS_F PAAF1
                      WHERE TRUNC(SYSDATE) BETWEEN PAPF1.EFFECTIVE_START_DATE AND
                            PAPF1.EFFECTIVE_END_DATE
                        AND TRUNC(SYSDATE) BETWEEN PAAF1.EFFECTIVE_START_DATE AND
                            PAAF1.EFFECTIVE_END_DATE
                        AND PAAF1.POSITION_ID = PSE.PARENT_POSITION_ID
                        AND PAPF1.PERSON_ID = PAAF1.PERSON_ID
                        AND ROWNUM = 1) CHIEF_NAME
      FROM PER_POS_STRUCTURE_ELEMENTS PSE,
           HR_ALL_POSITIONS_F         HAPF,
           PER_POSITION_DEFINITIONS   PPD
    WHERE PSE.SUBORDINATE_POSITION_ID = 52744
       AND TRUNC(SYSDATE) BETWEEN HAPF.EFFECTIVE_START_DATE AND HAPF.EFFECTIVE_END_DATE
       AND HAPF.POSITION_ID = PSE.SUBORDINATE_POSITION_ID
       AND HAPF.POSITION_DEFINITION_ID = PPD.POSITION_DEFINITION_ID;Tips: To put formatted code you must use {noformat}{noformat} tags, start tag and end tag are the same,you don't need to put '/' in the close tag.
    Regards,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • One to many to return only one row

    hi guys,
    i have an urgent problem here. i have a sql statement like below;
    SELECT ALM_SWAP2_REP.M_TP_RTMFRP0, ALM_SWAP2_REP.M_TP_RTMFRP1,
    ALM_SWAP2_REP.M_TP_RTMFRF0, ALM_SWAP2_REP.M_TP_RTMFRF1,
    To_Char(TRN_HDR_DBF.M_OPT_FLWFST,'YYYYMMDD') AS VALDATE, ALM_SWAP2_REP.M_TP_RTFXC02,
    ALM_SWAP2_REP.M_TP_RTFXC12, TRN_HDR_DBF.M_BRW_NOMU1, TRN_HDR_DBF.M_BRW_NOMU2,
    ALM_SWAP2_REP.M_TP_RTAMC02, ALM_SWAP2_REP.M_TP_RTAMC12,
    (CASE WHEN PAY_FLOW_DBF.M_LEG = 0 AND '20100831' BETWEEN To_Char(PAY_FLOW_DBF.M_CALC_DATE0,'YYYYMMDD') AND To_Char(PAY_FLOW_DBF.M_CALC_DATE1,'YYYYMMDD') THEN To_Char(PAY_FLOW_DBF.M_CALC_DATE1,'YYYYMMDD') END) AS RCV_DATE,
    (CASE WHEN PAY_FLOW_DBF.M_LEG = 1 AND '20100831' BETWEEN To_Char(PAY_FLOW_DBF.M_CALC_DATE0,'YYYYMMDD') AND To_Char(PAY_FLOW_DBF.M_CALC_DATE1,'YYYYMMDD') THEN To_Char(PAY_FLOW_DBF.M_CALC_DATE1,'YYYYMMDD') END) AS PAY_DATE
    FROM ALM_SWAP2_REP, TRN_HDR_DBF, PAY_FLOW_DBF WHERE ALM_SWAP2_REP.M_REF_DATA = 456576
    AND ALM_SWAP2_REP.M_NB = TRN_HDR_DBF.M_NB
    AND ALM_SWAP2_REP.M_NB = PAY_FLOW_DBF.M_TRN_ID
    AND ALM_SWAP2_REP.M_NB = 228128
    AND '20100831' BETWEEN To_Char(PAY_FLOW_DBF.M_CALC_DATE0,'YYYYMMDD') AND To_Char(PAY_FLOW_DBF.M_CALC_DATE1,'YYYYMMDD')
    ORDER BY ALM_SWAP2_REP.M_TRN_GRP, ALM_SWAP2_REP.M_NB
    When I join few tables, the results are returned in two rows because I have two records that in table PAY_FLOW_DBF that matches one row in table ALM_SWAP2_REP. I need these two matches but I want it to be returned in only one row without using group by. Pls help me. Thankls

    user9274041 wrote:
    i have an urgent problem here.http://www.oracle.com/html/terms.html
    >
    4. Use of Community Services
    Community Services are provided as a convenience to users and Oracle is not obligated to provide any technical support for, or participate in, Community Services. While Community Services may include information regarding Oracle products and services, including information from Oracle employees, they are not an official customer support channel for Oracle.
    You may use Community Services subject to the following: (a) Community Services may be used solely for your personal, informational, noncommercial purposes; (b) Content provided on or through Community Services may not be redistributed; and (c) personal data about other users may not be stored or collected except where expressly authorized by Oracle
    >
    Could you explain how something that is for your personal, informational, noncommercial purposes can be urgent?
    Or is this a violation of the terms of use and abuse of these forums?

Maybe you are looking for

  • Adobe Acrobat 9 Pro - Corrupted Fonts In PDF

    I am hoping that someone can help with this issue that I am having. I have been using Adobe Acrobat 9 Pro for most of the year without any issues until recently. When I have been creating PDF from Internet Explorer 9, some of the text in the PDF is c

  • XML Won't Transform in Batch [JS, CS3]

    When I use import xml manually into indesign, it works - but when I import it using the script below, it does not apply the transformation. Any ideas? with(app.activeDocument.xmlImportPreferences) {         allowTransform = true;         transformFil

  • How can I link to a specific point and zoom in a public GIS Flash map?

    I have been given the url for a county map that is presented in an interactive Flash document. http://68.156.95.45/newberrygis//#1 Client would like me to focus in on their specific development, which requires panning the map and zooming in. How can

  • Service Tax Condition Type.

    Hello All,               Can anyone please tell me which table can contain a field for tax condition type. In my PO when i click the invoices button i get the Taxes option in that i have two condition types , am not able to find them out. I tried KON

  • Pdfwatermark based on the user who login

    Hi, I wanted to know whether we can apply pdfwatermarking to documents based on the users who logs in?how? Thanks in advance