Oracle Query questions

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mamin
    New Member
    • Apr 2007
    • 5

    Oracle Query questions

    I have a table in Oracle that contains following:

    Order #, Customer#, Raw#
    123, 2456, 1
    354, 2456, 2
    657, 2489, 3
    858, 2447, 4
    955, 2489, 5

    I would like to get the results from the table that will look like this:

    2456, 123, 354
    2489, 657, 955
    2447, 858

    Any help would be appreciated.
  • febyfelix
    New Member
    • May 2007
    • 9

    #2
    TABLE IS

    SELECT * FROM FEB_ORD;

    ORD CUST
    ----------- -----------
    123 2456
    354 2456
    657 2489
    858 2447
    955 2489


    THE QUERY IS
    ------------------------------



    SELECT T.CUST,T.ORD,(C ASE WHEN T.CUST=T.LEAD_1 _CUST THEN LEAD_1_ORD
    WHEN T.CUST=T.LEAD_2 _CUST THEN LEAD_2_ORD
    WHEN T.CUST=T.LEAD_2 _CUST THEN LEAD_2_ORD
    ELSE
    LEAD_2_ORD
    END) FROM

    (
    SELECT A.CUST CUST,A.ORD ORD,LEAD(A.ORD, 1) OVER(ORDER BY ROWNUM) LEAD_1_ORD,
    LEAD(A.CUST,1) OVER(ORDER BY ROWNUM) LEAD_1_CUST,
    LEAD(A.ORD,2) OVER(ORDER BY ROWNUM) LEAD_2_ORD,LEAD (A.CUST,2) OVER(ORDER BY ROWNUM) LEAD_2_CUST
    FROM FEB_ORD A
    ORDER BY ROWNUM)T
    WHERE (T.CUST=T.LEAD_ 1_CUST OR T.CUST=T.LEAD_2 _CUST OR ( T.LEAD_1_CUST IS NOT NULL AND T.LEAD_2_CUST IS NULL)) ;

    Comment

    Working...