How to achieve this using the sql query?

Hello gurus,

I have a table like this
id    name
1       a
2       b
3       c
4       d
5       e
6       f
7       g
8       h
9       i
10     j
11     k
12     l
13     m
now my result should be like this
id    name  id   name   id   name 
1       a     6       f      11     k
2       b     7       g     12     l
3       c     8       h     13     m
4       d     9       i
5       e     10      j
How to achieve by sql query?

Thank you and best regards,
friend

Edited by: most wanted! February 22, 2012 05:55

Hello

Did you mean this:

with a as
(select 1 id ,'a' name from dual
union all select 2 id ,'b' name from dual
union all select 3 id ,'c' name from dual
union all select 4 id ,'d' name from dual
union all select 5 id ,'e' name from dual
union all select 6 id ,'f' name from dual
union all select 7 id ,'g' name from dual
union all select 8 id ,'h' name from dual
union all select 9 id ,'i' name from dual
union all select 10 id ,'j' name from dual
union all select 11 id ,'k' name from dual
union all select 12 id ,'l' name from dual
union all select 13 id ,'m' name from dual
)

select
  id_1
  ,name_1
  ,id_2
  ,name_2
  ,id_3
  ,name_3

from
  (
  select
    id id_1
    ,name name_1
    ,lead(id,5) over (order by id) id_2
    ,lead(name,5) over (order by id) name_2
    ,lead(id,10) over (order by id)  id_3
    ,lead(name,10) over (order by id) name_3
    ,rownum r
  from
    a
  )
where
  r <=5

D_1                   NAME_1 ID_2                   NAME_2 ID_3                   NAME_3
---------------------- ------ ---------------------- ------ ---------------------- ------
1                      a      6                      f      11                     k
2                      b      7                      g      12                     l
3                      c      8                      h      13                     m
4                      d      9                      i
5                      e      10                     j 

Kind regards

Peter

Tags: Database

Similar Questions

  • How to select only the part by using the sql query

    Hello

    I have the task to retrieve only the integral of the input text by using the sql query.

    The entry is as follows

    Entry for the price setting

    $12.5 (FYI without space)

    $ 12.5 (FYI single space)

    $ 12.5 (double space FYI)

    $12.5 (FYI multiple space)

    $12.5 (FYI multiple space)

    Output expected of 12.5

    The price is the type varchar2 column in the store_price table.

    Please let me know how to achieve this.

    Thanks in advance.

    If this is always the case that you get a $ followed by a number of places, you can use something like:

    Select to_number (ltrim ('$ 12.5',' $')) DOUBLE

    or

    SELECT ltrim ('$ 12.5',' $') OF double

    but take care of your nls_numeric_character settings if they are defined so that, for example, a comma is the decimal separator, you will have a problem.

    HTH

  • generations of months using the sql query

    Hello

    Based on the input of date parameter, I need display every month in the current year and last year.

    For example, suppose that my setting date is December 5, 14 ', I need the output below.

    JANUARY

    FEBRUARY

    MARCH

    APRIL

    MAY

    JUNE

    JULY

    AUGUST

    SEPTEMBER

    OCTOBER

    NOVEMBER

    DECEMBER

    JANUARY

    FEBRUARY

    MARCH

    APRIL

    PEUT

    Until the month of May and the month last year. I came with the request. Please find the following query.

    Select to_char (add_months (trunc(sysdate,'year'), level-1), 'MONTH') mth

    of the double

    connect by level < = 12

    Union of all the

    Select to_char (to_date (ddate, 'MM'), 'MONTH') month

    (select 1 + rownum - 1 ddate

    from user_objects

    where (1 + rownum - 1) < = to_number (to_char (to_date ('12-05-14', ' dd-mm-yy'), 'mm')));

    But I don't want to use the data user_objects dictionary. Can you please guide how to achieve this output, or can u give me some other request too if possible.

    Thank you

    Siva

    Try the below

    SELECT TO_CHAR (ADD_MONTHS (ADD_MONTHS (TRUNC (TO_DATE(:date1,'DD-MM-YY'), 'MM'),

    ((- MONTHS_BETWEEN (trunc (to_date(:date1,'DD-mm-YY'), 'MM'), trunc (to_date(:date1,'DD-mm-YY'), 'YY')) + 12)).

    (LEVEL-1))

    , 'MONTHS '.

    'NLS_DATE_LANGUAGE = ENGLISH') FROM dual months_between

    CONNECT BY LEVEL<=>

  • Dependencies of object database by using the SQL query?

    Hi guys,.

    I just see the nice feature to discover the database object dependencies in the APEX (generator application-> app 123-> utilities-> database object dependencies).

    Is there a way to get this dependencies just with a SQL query? Also should I calculate a process in order to get the current dependencies? In APEX, you press a calculate button before you can see the dependencies.

    Thanks in advance and greetings from the Germany

    Steven

    After you import the app Builder application APEX 4500, I saw that the Start button the following process:

    wwv_flow_theme_manager.find_object_dependencies (p_flow_id =>: fb_flow_id, p_page_id-online null);

    In my example I can't use it, only the APEX_050000 user has privileges to use, and you must grant the privileges of your schema, so if you want to use it inside your application. My application must be independent of the schema and the specific database.

    Also it is not recommended to use this procedure because it is one of the procedures not supported that are only used by oracle.

  • Change the font color in a report by using the SQL query

    Hello

    I'm changing the font color based using a BOX the query in the form below:
    select "ORDER_ID", 
    "ORDER_REFERENCE",
    "ORDER_DATE",
    "ORDER_SOURCE",
    "TOTAL_DISCOUNT",
    "DELIVERY_TYPE",
    "PICKUP_DATE",
    case
         when order_status = 1 then '<font color="red">'|| order_status||'</font>'
         else
         '<font color="blue">'||order_status||'</font>'
    end order_staus,
    "DELIVERY_STATUS",
    "USER_ID",
    "CUSTOMER_ID",
    "SITE_ID"
    from "ORDERS" 
     
    I can get this working by selecting the Standard report column in the type of the column header . However this to say that I can't use the LOV LOV options involve removing the HTML characters.

    Is there a way I can conditionally change the font with the above query and use LOV as well? Thank you.

    Environment

    Apex 4.1.1 to apex.oracle.com
    Theme 13

    Published by: taepodong on June 3, 2012 07:28

    I'm sure that not looking the application form first before posting this question.

    Your solution would be:
    Please edit your report column under > report attributes > and select the property view as as a Standard report column

  • How to get the reconciliation AD event data using the SQL query.

    Hi all
    I was trying to get all the recon data to target AD Recon of IOM db, but it seems that at the OIM 11 g we have recon not given in the tables: UCR, CRE, etc.. Use tables "RECON_"... ', my question is all no bady has example query to extract data from recon tables?
    The best
    MP

    It should be a matter of linking your reconciliation table of user AD (early RA_) with the RECON_EVENTS of RE_KEY table.

    In my case, I have user OID reconciliation (so my RA_ table will be different to yours) and can use something like:

    SELECT RECON_EVENTS. RE_STATUS, RECON_EVENTS RA_OIDUSER5.*, RA_OIDUSER5 WHERE RECON_EVENTS. RE_KEY = RA_OIDUSER5. RE_KEY;

    Of course, then depends on what information you want to filter and recover.

  • How to achieve this using sql?

    assume I have a below table and data
     
    create table sk_abcd (a varchar2(6), b varchar2(4));
    insert into sk_abcd values ('abcdef', '1235');
    insert into sk_abcd values ('qwert', '15');
    commit;
     
    now I want output as below:
     
    <some query>
     
    a       b 
    --      --
    ab     123
    cd      5  
    ef      null
    qw    15
    er      null
    t       null

    Hello

    You don't give no matter what version of the database, or a clear explanation about the logic, so I just think that's what you want:

    SQL> SELECT substr(a, 2*value(t)+1, 2) a,
      2         substr(b, 3*value(t)+1, 3) b
      3  FROM sk_abcd,
      4       TABLE(
      5         CAST(
      6           MULTISET( select level-1 i from dual connect by level <= ceil(length(a)/2) )
      7           AS sys.odcinumberlist
      8         )
      9       ) t
     10  ;
    
    A        B
    -------- ------------
    ab       123
    cd       5
    ef
    qw       15
    er
    t        
    
    6 rows selected
     
    
  • How to achieve this using an analytic function - please help

    version 10g.
    This code works very well with my requirement. I'm tyring learn analytical functions and implement than in the query below. I tried to use row_number,
    but I could nt achieve the desired results. Please give me some ideas.

    SELECT c.tax_idntfctn_nmbr irs_number, c.legal_name irs_name,
           f.prvdr_lctn_iid
      FROM tax_entity_detail c,
           provider_detail e,
           provider_location f,
           provider_location_detail pld
     WHERE c.tax_entity_sid = e.tax_entity_sid
       AND e.prvdr_sid = f.prvdr_sid
       AND pld.prvdr_lctn_iid = f.prvdr_lctn_iid
       AND c.oprtnl_flag = 'A'
       AND c.status_cid = 2
       AND e.oprtnl_flag = 'A'
       AND e.status_cid = 2
       AND (c.from_date) =
              (SELECT MAX (c1.from_date)
                 FROM tax_entity_detail c1
                WHERE c1.tax_entity_sid = c.tax_entity_sid
                  AND c1.oprtnl_flag = 'A'
                  AND c1.status_cid = 2)
       AND (e.from_date) =
              (SELECT MAX (c1.from_date)
                 FROM provider_detail c1
                WHERE c1.prvdr_sid = e.prvdr_sid
                  AND c1.oprtnl_flag = 'A'
                  AND c1.status_cid = 2)
       AND pld.oprtnl_flag = 'A'
       AND pld.status_cid = 2
       AND (pld.from_date) =
              (SELECT MAX (a1.from_date)
                 FROM provider_location_detail a1
                WHERE a1.prvdr_lctn_iid = pld.prvdr_lctn_iid
                  AND a1.oprtnl_flag = 'A'
                  AND a1.status_cid = 2)
    Thank you

    Published by: new learner on May 24, 2010 07:53

    Published by: new learner on May 24, 2010 10:50

    Can be like that not tested...

    Select *.
    Of
    (

    SELECT c.tax_idntfctn_nmbr irs_number, c.legal_name irs_name,
    f.prvdr_lctn_iid, c.from_date as c_from_date, max (c.from_date) more (partition c.tax_entity_sid) as max_c_from_date,
    e.from_date as e_from_date, max (e.from_date) more (partition e.prvdr_sid) as max_e_from_date,
    PLD.from_date as pld_from_date, max (pld.from_date) more (pld.prvdr_lctn_iid partition) as max_pld_from_date

    OF tax_entity_detail c,.
    e provider_detail
    provider_location f,
    LDP provider_location_detail
    WHERE c.tax_entity_sid = e.tax_entity_sid
    AND e.prvdr_sid = f.prvdr_sid
    AND pld.prvdr_lctn_iid = f.prvdr_lctn_iid
    AND c.oprtnl_flag = 'A '.
    AND c.status_cid = 2
    AND e.oprtnl_flag = 'A '.
    AND e.status_cid = 2
    AND pld.oprtnl_flag = 'A '.
    AND pld.status_cid = 2

    ) X
    where c_from_date = max_c_from_date AND e_from_date = max_e_from_date AND
    pld_from_date = max_pld_from_date

  • Column of the row on a table (using the SQL query)

    Data in my table looks like this.

    Data in the table

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

    COL_1, COL_2

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

    1 ABCD

    2 ABC

    3 ABCDE

    4             AB

    5 ABCDEFGH

    Now, he must, for the entire line, length COL_2 text exceeds 3, display the text remaining in the new line. For example, the first row (COL_1 = 1), COL_2 length is 4, so in SQL output two lines will be displayed as shown below. Also, the last row (COL_1 = 5), the length is 8, then, in SQL, output 3 lines will be displayed as below. And for the COL_1 = 2 & 4, only 1 rank will be displayed as the text COL_2 length is less than or equal to 3.

    OUTPUT

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

    COL_1, COL_2

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

    1 ABC

    1             D

    2 ABC

    ABC 3

    3             DE

    4             AB

    5 ABC

    5 DEF

    5             GH

    We need to implement using SQL only.

    Hello

    the solution of etbin uses recursive subquery factoring available on Oracle 11 g 2.

    Since you have not mentioned your version I write here 2 alternatives using CONNECT BY and Xquery:

    with mydata as

    (

    Select 1 c1, c2 'ABCD' Union double all the

    Select 2, 'ABC' from dual union all

    Select 3, 'ABCDE' from dual union all

    Select option 4, "AB" dual union all

    Select 5, "ABCDEFGH" of the double

    )

    Select c1, substr (c2, level * 3-2, 3) C2

    of mydata

    connect by substr (c2, level * 3-2, 3) is not null

    and c1 = c1 prior

    and prior dbms_random.random is not null;

    C1 C2

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

    1 ABC

    0%

    2 ABC

    ABC 3

    3

    4 AB

    5 ABC

    5 DEF

    5 GH

    9 selected lines.

    with mydata as

    (

    Select 1 c1, c2 'ABCD' Union double all the

    Select 2, 'ABC' from dual union all

    Select 3, 'ABCDE' from dual union all

    Select option 4, "AB" dual union all

    Select 5, "ABCDEFGH" of the double

    )

    Select a.c1, x.c2

    of mydata one

    , xmltable ("ora: tokenize($c2,",")")

    passing regexp_replace (a.c2, '(.{1, 3}) \1 ',',') as "c2".

    path of columns c2 varchar2 (30) '.'

    ) x

    where x.c2 is not null;

    C1 C2

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

    1 ABC

    0%

    2 ABC

    ABC 3

    3

    4 AB

    5 ABC

    5 DEF

    5 GH

    9 selected lines.

    Edit: corrected the Xquery solution using a simplified regexp_replace.

    Kind regards.

    Alberto

  • Given multiple options to get filled by using the SQL query

    I have the following data in the table.

    I want to fill the column custid with a few conditions.

    (1) If a client is on a loan account as custid must get filled. (for example: 124)
    (2) if the multiples are on a single loan account then

    (a) if one of the clients has rolename = "w1" then it must be filled. (for example: 125)
    (b) If several customers a rolename = "w1" then custid minimum should get populated(eg:123)
    (c) If none of the clients has rolename = "w1" then custid minimum should get populated(eg:126)




    LOANNO ROLENAME CUSTID
    123 X 1
    123 2 W1
    123 3 W1
    124 Y 4
    5 125
    125 6 W1
    7 126
    8 126
    9 126


    And my output looks like

    LOANNO ROLENAME CUSTID
    123 2 W1
    124 Y 4
    125 6 W1
    7 126


    I tried the departure from

    SELECT ACCNO, ROLENAME, MIN (CUSTID)
    FROM TABLENAME
    ACCNO GROUP, ROLENAME
    HAVING ROLENAME = "W1".

    How to all conditions.
    Could you please help in this?
    I tried again on that.

    Thanks in advance.

    Concerning
    KVB

    Hello

    I see now: you do not want the Group BY accno both rolename; that would produce a line of output for each combination separate accno / rolename. You want only one line of output for each separate accno.
    One way to do that is a Query of Top - N , like this:

    WITH     got_r_num     AS
    (
         SELECT     accno, rolename, custid
         ,     ROW_NUMBER () OVER ( PARTITION BY  accno
                                   ORDER BY          CASE
                                                 WHEN  rolename = 'W1'
                                         THEN  1
                                         ELSE  2
                                     END
                           )    AS r_num
         FROM    table1
    )
    SELECT       accno, rolename, custid
    FROM       got_r_num
    WHERE       r_num     = 1
    ;
    

    You could do it with GROUP BY, but it's messy:

    SELECT    accno
    ,       MIN (rolename) KEEP ( DENSE_RANK
                                           FIRST
                              ORDER BY  CASE
                                             WHEN  rolename = 'W1'
                                   THEN  1
                                   ELSE  2
                               END
                        ,         custid
                         )         AS display_rolename
    ,       MIN (custid)   KEEP ( DENSE_RANK
                                        FIRST
                           ORDER BY  CASE
                                             WHEN  rolename = 'W1'
                                   THEN  1
                                   ELSE  2
                               END
                         )         AS display_custid
    FROM       table1
    GROUP BY  accno
    ;
    
  • APEX: Use the SQL query in the APEX_MAIL package

    Hi all
    I'm creating an application in which I want to extract records from table and send it to the user. Please help me on this.

    Thank you
    Martin

    Hello I am,.

    You can see the code below.
    DECLARE
    l_body_html CLOB.
    l_body CLOB.
    BEGIN
    l_body: = 'Hello Daniel. "

    l_body_html: = '

    ';

    C1 in (select distinct (act_name), act_desc, act_steps, reboot_date servername HWC_CHK_SCHEDUELE where chk_name =: P2_SELECT_CHECKLIST and reboot_date =: P2_REBOOT_DATE)
    loop

    l_body_html: = l_body_html | '

    ' || '' || '' || '' || '';

    end loop;

    l_body_html: = l_body_html | '

    Name of the lawLaw on ESCRMeasures ActName of the serverRestart Date
    ' || C1.act_name | '' || C1.act_desc | '' || C1.act_steps | '' || C1. SERVER_NAME. '' || C1.reboot_date | '
    ';
    l_body_html: = l_body_html | '
    ' || "Thanks & Regards | '
    ';
    l_body_html: = l_body_html | "Patel Dr.Jiten";

    () apex_mail. Send
    p_to =>: P2_EMAIL,
    P_FROM-online "[email protected]."
    p_body-online l_body,
    p_body_html-online l_body_html,
    p_subj => "You must work on ABC named Checklist");
    END;

  • The SQL query result

    Hello

    Here's my data in the table for itm_id = 1000

    ITM_IDADD_ATRDEL_ATR
    1000a: b:c:d
    1000d
    1000d
    1000e:f:g
    1000e:f:g

    My required return is (a: b:c:d) d = a: b: c + d = a: = a +(e:f:g) b:c:d: b:c:d:e:f:g-(e:f:g) = a: b: c; d

    Output ITM_ID

    1000A: b:c:d

    can we get the output using the sql query above?

    I had tried with union but could not able to get the required result.

    Please let me know if there is no possible solution

    Thank you

    David

    I have the impression that you are looking to treat each character in 'RTA' as an individual item and then add or delete depending on whether they are an ADD_ATR or DEL_ATR.

    So something like...

    SQL > ed
    A written file afiedt.buf

    1 with t as (select 1000 as itm_id, ' a: b/c: some like add_atr, null as del_atr of all the double union)
    2 select 1000, null, would be "union double all the"
    3 select 1000, 'd', null of union double all the
    4 select 1000, 'e:f:g', null of union double all the
    5 select 1000, null, "e:f:g" of all the double union
    6 select 1234, null, "x: y: z" of all the double union
    7 select 1234, 'u: v: w', null of union double all the
    8 select 1234, null, 'u' of all the double union
    9 select 1234, "x: y", null of union double all the
    10. Select 1234, "x: z", null of union double all the
    11. Select 1234, 'p', the double null
    12            )
    13-
    14. end of test data
    15-
    16. Select itm_id
    17, cast (listagg(atr,':') within the Group (order by atr) as varchar2 (40)) output
    18 of)
    19 select itm_id
    20, atr
    21, sum (add_del)
    22 of)
    23 select itm_id
    24, coalesce(add_atr,del_atr) as full_atr
    25, decode (add_atr, null,-1, 1) as add_del
    26, regexp_substr (coalesce(add_atr,del_atr),'[^:] +', 1, level) RTA
    27, flat surface that l
    28 t
    29 to connect by level<= (length(coalesce(add_atr,del_atr)="">
    30 and itm_id = prior itm_id
    31 and coalesce(add_atr,del_atr) = prior coalesce(add_atr,del_atr)
    sys_guid() 32 and prior is not null
    33             )
    34 group by itm_id, atr
    35 having sum (add_del) > 0
    36       )
    37 * group by itm_id
    SQL > /.

    ITM_ID OUTPUT
    ---------- ----------------------------------------
    1000A: b:c:d
    1234 p:v:w:x

    that just shows how stupidly data is as it should be divided every thing in the different elements so that you can then group to determine how many of each, you have (and whether to add or subtract) and then re - combine results again in a combined string.

  • How to know the status of the process flow using a SQL query

    Hello
    I want to know the final status of a process flow after execution by using a sql query?

    The available entries are:
    -Item_Key
    -Process_Flow_Package_Name
    -Process_Flow_Name

    I ran the process flow using a WF_Engine.LaunchProcess ()procedure, but I was not able to know the status of the process flow.


    Is it possible to know the status of the process flow?

    using a procedure or an sql query?

    Thanks in advance,
    SriGP.

    Once the process is completed, or not, you can see the status by calling:

    UAS (your_OWF_shema) .wf_engine. ItemStatus()

  • Is it possible to transfer videos from the iPod from someone else on my iPhone?  How to achieve this?

    Is it possible to transfer videos from the iPod from someone else on my iPhone?  How to achieve this?

    Depends on the model of iPod exactly.

    If the iPod is supported you can try using AirDrop: How to use with your iPhone, iPad or iPod touch - Apple Support AirDrop

    If this is not the case, there are applications in the App Store that will allow you to send files, including videos taken with the iPod and who reside in the film to other devices.

    https://iTunes.Apple.com/us/app/photo-transfer-app-easily/id365152940?Mt=8

    Photo transfer app allows you to quickly copy pictures and videos from your iPhone, iPad, Mac or PC using your local wifi network.

    You can't send videos that are stored by default Apple video App.

  • How to get the sql query result?

    Hello

    Currently I use LV2012 to connect to an Oracle database server. After the Oracle Express and Oracle ODBC driver facilities/settings made.

    I managed to use the SQL command to query the data through my command prompt window.

    Now the problem is, how to do the same task in Labview using database connectivity tools?

    I have build a VI to query as being attached, but I have no idea of what range to use to get the result of the query.

    Please help me ~ ~

    Here is a piece of code that I use to test the SQL commands, you can use the part that retrieves the results of sql.

    It is also possible to get the rear column headers, but it's for the next lesson!

    ;-)

Maybe you are looking for