Retrieve two values of column in a table

Hi I want to retrieve two values of column in a table and store the values as a single column value in another table... How to do with it?

Use in this way:
Insert in tab2 (col1) select col1 | col2 from tab1;

Tags: Database

Similar Questions

  • return two values of columns via Javascript

    For the same purpose as:

    OnClick = "$s ('P1_DEPTNO', #DEPTNO #); return false; »

    to return a value from column via javascript, is it possible to return 2 values? Example:

    OnClick = "$s ('P1_DEPTNO', #DEPTNO #); $s ('P1_EMP, #EMPLOYEE #); return false; »

    Thank you all :)

    Max

    Maxime Carrier wrote:
    Sorry for the wrong question form, I'm not an English speaker, so I try my best to make sentences clear.

    My goal is like this in this issue: Insert the value of a column in the report in a page with JavaScript element - 2?

    My Apex version is: 4.0.2.00.06
    My DB is: Oracle 11G
    My browser: IE 7

    I'm trying to save two values when I click on a link in a report. I will use these values in which the declaration of another report. The content of the second report will depend on the link I clicked in the 1st. It will change dynamically without reloading the entire page.

    Standard or interactive report?

    Where is the defined link? Column link IR? The column link? HTML embedded in the report query?

    One of the two values is not a number.

    Use quotes around chains of substitution of the column as shown above.

  • Retrieve the names of columns in a table.

    Hi all

    I want to retrieve column names of a table "test", whose values are null

    For ex:

    Select * from test

    give the results that

    column_1, column_2, column_3, column_4
    111

    allows to consider the case that the table has only one record.

    as a result, we will have to get column_2, column_3, column_4 and more.

    I tried dynamic "run immediately" the statement and tried to extract in a single execution of immediate instruction, but I wasn't able to accomplish because of several columns.

    is it possible without using a pl/sql function or procedure?

    Check this box:

    SQL> INSERT INTO my_Test values('ABCD',NULL,NULL);
    
    1 row created.
    
    SQL> COMMIT;
    
    Commit complete.
    
    SQL> select * from my_Test;
    
    COL1       C COL3
    ---------- - ----------
    ABCD
    
    SQL> declare
      2  CURSOR C1 IS SELECT column_name FROM all_tab_cols WHERE table_name = 'MY_TEST';
      3  v_sql VARCHAR2(10000) := NULL;
      4  my_null_col_list VARCHAR2(32767) := NULL;
      5  my_cnt NUMBER := 0;
      6  BEGIN
      7  FOR I in C1 LOOP
      8  v_sql := 'SELECT COUNT(*) FROM my_test WHERE '||I.column_name ||' IS NULL';
      9  execute immediate v_sql INTO my_cnt;
     10  IF (my_cnt > 0) THEN
     11  my_null_col_list := my_null_Col_list||','||I.column_name;
     12  END IF;
     13  END LOOP;
     14  my_null_col_list := SUBSTR(my_null_col_list,2);
     15  dbms_output.put_line('Columns that have null values for table my_Test are:'||my_null_col_list);
    
     16  END;
     17  /
    Columns that have null values for table my_Test are:COL2,COL3
    
    PL/SQL procedure successfully completed.
    
    SQL> desc my_test;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     COL1                                               VARCHAR2(10)
     COL2                                               VARCHAR2(1)
     COL3                                               VARCHAR2(10)
    
    SQL> 
    
  • using a Case statement to display the values of column even as table headers

    I have a database that has been set up kind of tricky, in that some tables are made up of columns that are field names and one link to another table that contain the data for these field... also names there ID displays as many lines instead of as a row of data. I would like to write a query to extract that information and display it as one line for each ID.

    example: table 1

    ID, name, itemresponse and itemcode, Description

    Dee Jones Childrens Hospital 123 SITE location

    123 dee Jones, Date of appointment next NEXTAPPT 22/04/2014

    123 dee Jones was on bedrest NOSHOW reason do not show

    I would like to have the display of data as a record on this same patient, instead of as 3 separate registers (with the Description column in table 1

    Table 2

    ID, name, place, Date of the next meeting, show no reason

    123 dee Jones Childrens Hospital 22/04/2014 was the bed rest

    I have included the code I worked on below my question, for me to get the desired results should I use the Case statement and it's the right way to do it below?

    (SELECT
    PAT.ID "PATIENT ID."
    PAT. FIRST | » '|| PAT. "PATIENT FIRST NAME."
    PAT. "PATIENT DOB," DATE_OF_BIRTH
    DS. Date 'Date of inpatients ',.
    Dai. ITEM_CODE "Item Code",
    Dai. DESCRIPTION "Description."
    Siad. ITEM_RESPONSE,

    Max (CASE WHEN dai. ITEM_CODE IS "SITE" THEN DAI. Decription
    ANOTHER NULL
    END) AS "name of the hospital."

    Max (CASE WHEN DAI.) ITEM_CODE IS 'NEXTAPPT' THEN DAI. ITEM_Description
    ANOTHER NULL
    END) AS 'next Appt Date. "

    Max (CASE WHEN DAI.) ITEM_CODE IS "LASTDATE" THEN DAI. Description
    ANOTHER NULL
    END) AS 'last visit Date.

    Max (CASE WHEN DAI.) ITEM_CODE IS 'NOSHOW' THEN DAI. Description
    ANOTHER NULL
    END) THAT "the reason has not shown".

    Of
    (PAT.ID "IDENTIFYING PATIENT",
    PAT. FIRST | » '|| PAT. "PATIENT FIRST NAME."
    PAT. "PATIENT DOB," DATE_OF_BIRTH
    DS. Date 'Date of inpatients ',.
    Dai. ITEM_CODE "Item Code",
    Dai. DESCRIPTION "Description."
    Siad. ITEM_RESPONSE

    Of

    dm_sessions Ds,
    dm_session_assessments dsa,
    DAS dm_admin_sections,
    dm_session_assessment_items Siad,
    Dai dm_admin_items,
    Po Patient_Orders,
    Inventory inv,
    Patients_Table PAT
    dm_admin_categories CAD

    where dsa.session_Id = ds.session_Id
    and PAT.ID = ds. Patient_ID
    and dsa.excluded_assessment =' no
    and dac.category_code = 'OPEN'

    and dsa.section_id = das.section_id
    and das.category_id = dac.category_id
    and das.section_code = 'northwest'
    and dai.section_id = das.section_id
    and dsai.item_id = dai.item_id
    and dsai.session_assessment_Id = dsa.session_assessment_Id
    and dsai.excluded =' no
    - and Dai.ITEM_ID = Dsai.ITEM_ID
    and Dai.ITEM_CODE IN ('SITE', 'NEXTAPPT', 'LASTDATE', 'NOSHOW')
    and po.patient_ID = ds.patient_ID
    and in. NDC_NO = inv. NDC_NO
    and inv. TDRUG_ABBREV = in. DRUG_ABBREV

    PAT.ID GROUP, PAT. FIRST | » '|| PAT. LAST, PAT. DATE_OF_BIRTH, ds. Date, dai. ITEM_CODE, dai. DESCRIPTION, Siad. ITEM_RESPONSE))

    Hello

    DATE is not a very good name for a column.  Use something like EVENT_DATE, that will not be confused with a keyword from Oracle, instead.

    I don't see something like this column in the CREATE TABLE statement.  He will always be the same value on all lines?

    Here's a way to get the results you requested:

    SELECT id

    first name | ' ' || LastName AS name

    Date of birth

    MAX (CASE WHEN item_code = "NEXTAPPT", THEN item_response END) AS next_appointment,

    MAX (CASE WHEN item_code = "LASTDATE" THEN item_response END) AS last_visit_date,

    MAX (CASE WHEN item_code = "SITE" THEN item_response END) AS location

    FROM mytable1

    GROUP BY id, firstname, lastname, dob

    ;

    Of course, I can't test it very well until you post INSERT statements for the sample data.

    I guess that 2 or more lines of the entry have the same id, then they will necessarily be first name last name, the name and date of birth, too.  No doubt they are standardized in your actual tables.

  • How to check the account of a column value is less than the other value of column in a table with a single column

    Hello

    Please let me know how to query the table and get the records that are less than the other column.

    ID item_id item_type

    3     1           r1

    2 4 r2

    1 5 r3

    6 5 r4

    I need to get all the lines in which item_id < id

    o/p

    ID item_id item_type

    3     1           r1

    6 5 r4

    SELECT ID, ITEM_ID, ITEM_TYPE

    Of

    WHERE ITEM_ID<>

  • How can I get number of columns for all tables in a schema?


    Hello

    Can someone help me with the code to retrieve any of the columns in each table of a master plan? I'm sorry if it sounds simple. I'm a newbie...

    Thank you

    Maybe:

    Select table_name

    count (*) col_count

    of user_tab_cols

    Table_name group

    order of table_name;

  • How to replace the value of a column in a table based on the value in the second column?

    Hi, I would like to find in a table 2D for values that meet certain criteria (for example, a column< 0.98).=""  based="" on="" which="" rows="" meet="" this="" criteria,="" i="" want="" to="" replace="" the="" values="" in="" a="" different="" column="" of="" the="" array="" (change="" to="" 'nan'="" so="" that="" the="" values="" will="" not="" be="" included="" in="" any="" calculations="" on="" that="" column,="" for="" example="" the="" finding="" the="" mean).=""  i've="" attached="" a="" sample="" .csv="" file.=""  if="" the="" values="" in="" column="" 3="" (index="" 2)="" are="" less="" than="" 0.980="" (or="" some="" other="" user="" defined="" value),="" then="" the="" value="" in="" column="" 2="" (index="" 1)="" should="" be="" replaced="" with="" nan.=""  can="" someone="" help="" out="" with="" this="" search="" and="" replace="">

    Thank you

    Keith

    (using LV 2009 SP1)

    A few quick hits.

    You can merge the two for loops

    You have not need one of the constants 1 and 2 in the index table.  They will solve automatically when you expand on the index picture, once you have wired to 0 in the column index.

    It seems a lot of handling additional table spent unnecessarily.

    See below.  I did not try to duplicate your code to see how it actually works, but I believe that I have attached will give the same result with less steps.

  • Input data match with two columns in a table

    Hello

    I want to find records where the input data (> 100 records) are adapted to the two columns of the table

    See below
    with t as
    (select 1 as id, 101 as num 'ram' that pat from dual
    Union
    Select 2 102, 'tom' from dual
    Union
    Select 1 103, 'tom1' from dual
    Union
    Select 2 101, 'tom2' from dual
    Union
    Select 2 104, 'tom3' from dual
    Union
    Select 1 105, 'tom1' from dual
    Union
    Select 2 105, 'tom1' from dual

    )
    Select * from t

    I want to find records from the 't' table where (id, num) will be (1 101, 2 102, 1, 105)

    Output must be

    ID num
    1 101
    2 102
    1 105
    select *
    from t
    where  (id, num) in (
              (1,101),
              (2,102),
              (1,105)
                 );
    

    Or store the input in a temporary table values and use IN

    select *
    from t
    where  (id, num) in (
              select col1,col2
                                    from your_temp_table
                 );
    

    Published by: JAC on 20 may 2013 14:55

  • Oracle how to multiply two columns of different tables and results

    Oracle how to multiply two columns of different tables and get the result in the third column?

    I want to multiply all the lines of the quantinty column in the table of quantity with the relevant lines of the table of prices price column and get the result of multiplying in the third column. What should I use procedure trigerr? OR IS IT POSSIBLE HOW TO DO IT PLEASE HELP :D

    Edited by: 994229 2013-03-15 12:44
    /* Formatted on 3/15/2013 3:51:08 PM (QP5 v5.185.11230.41888) */
    CREATE TABLE mytable1
    AS
       (SELECT 1 id, 5 VALUE FROM DUAL
        UNION ALL
        SELECT 2, 7 FROM DUAL
        UNION ALL
        SELECT 3, 8 FROM DUAL);
    
    CREATE TABLE mytable2
    AS
       (SELECT 1 id, 4 VALUE FROM DUAL
        UNION ALL
        SELECT 2, 12 FROM DUAL
        UNION ALL
        SELECT 10, 12 FROM DUAL);
    
      SELECT id,
             mytable1.VALUE,
             mytable2.VALUE,
             mytable1.VALUE * mytable2.VALUE product
        FROM mytable1 FULL OUTER JOIN mytable2 USING (id)
    ORDER BY id;
    
    ID     VALUE     VALUE_1     PRODUCT
    1     5     4     20
    2     7     12     84
    3     8
    10          12     
    
  • How to set the value of a column in a table according to another column?

    Hello world!

    I use Apex 4.1.
    My question is how can I set the value of a column in a table according to another column?
    I have a table and when I insert the value in the column content, I want to change this value in the note column with the note, which is generated with pl/sql function (function of string returned if the typed value is in the range).

    I tried to use javascript as
     $('input[name=f02]').live('change', function(){
    if($(this).val()!='1'){
    $('input[name=f03]').val("test")}
    }); 
    for the development of the column note to test if the value typed in the content of the column is not 1, but this code assigns the value to all the lines and I need to set only the specified line.

    Can someone give me a hint in any way to do this if possible?

    Kind regards
    drama9346

    You will need create a process on your page type PLSQL and develop this process "we demand" of the page. In this process, you can run the PLSQL you need. That is to say to retrieve the note value as described in your PC:

    and when I insert the value in the column content, I want to change this value in the note column with the note, which is generated with pl/sql function (function of string returned if the typed value is in the range).

    In this process, you must provide a return value of the call, and you can do this by using htp.p. Example:

    DECLARE
       --putting x01 in a var to simplify
       l_test_var VARCHAR2(200) := apex_application.g_x01;
       l_return VARCHAR2(200);
    BEGIN
       -- a simplistic test
       IF LENGTH(l_test_var) BETWEEN 10 AND 20 THEN
          l_return := 'String is between 10 and 20';
       END IF;
    
       --this will write l_return to the buffer, and the ajax callback will receive this
       htp.p(l_return);
    END;
    

    And the code that I wrote above, which is javascript, would need to go where your current code is that binds to the onchange event. The result should be that, when a change is made to this element, an ajax request is made on the server. When the call is finished, it will be the value returned in the item you want.

  • How to exchange the two values in the same column by using the UPDATE?

    Hi all

    I have a table named TEST, and it has a column called A.

    and has values as follows:

    A
    ------
    10
    20
    30
    40
    50

    My question is how to move '10' instead of '20' and '20' instead of '10' in the column? This permutation is only for the first two values (10, 20)

    Note: Must be only in SQL, not in PLSQL.

    Any advice?

    Thanks in advance?

    Update
    test
    the value a = decode(a,10,20,20,10,a);

    Alexander gelin
    http://nimishgarg.blogspot.com/

  • How to upgrade a minimum value of column column in another table?

    Hi all

    I created a few tables as below, and it need to update a column in a table with a minimum value of the column of another table...

    Scenarios explained as follows:
    CREATE TABLE T_20 (CONTROL NUMBER(10) NOT NULL,
                                PO NUMBER(10) NOT NULL,
                                AMENDNO NUMBER(3) NOT NULL,
                                FACTOR VARCHAR2(3) NOT NULL,
                                COMMENT_X VARCHAR2(40),
                                FLAG VARCHAR2(1))
    
    
    SQL> alter table t_20 add constraint t_20_pk primary key (control, po, amendno, factor);
    
    SQL> DESC T_20;
     Name                                      Null?    Type
     --------------------------           -------- --------------
     CONTROL                           NOT NULL NUMBER(10)
     PO                                     NOT NULL NUMBER(10)
     AMENDNO                          NOT NULL NUMBER(3)
     FACTOR                             NOT NULL VARCHAR2(3)
     COMMENT_X                                      VARCHAR2(40)
     FLAG                                                 VARCHAR2(1)
    
    Table altered.
    
    CREATE TABLE T_30 (CONTROL NUMBER(10) ,
                                PO NUMBER(10) ,
                                AMENDNO NUMBER(3) ,
                                FACTOR VARCHAR2(3) ,
                                AMOUNT NUMBER(10,2),
                              USER_NAME VARCHAR2(4))
    SQL> /
    
    Table created.
    
    SQL> INSERT INTO T_20 VALUES(101,1000,01,'MSC','NO COMMENT','Y')
      2  /
    
    1 row created.
    
    SQL> INSERT INTO T_20 VALUES(101,1000,02,'MSC','NO COMMENT','Y')
      2  /
    
    1 row created.
    
    SQL> INSERT INTO T_20 VALUES(101,1001,00,'NDP','NO COMMENT','Y')
      2  /
    
    1 row created.
    
    SQL> INSERT INTO T_20 VALUES(101,1001,01,'NDP','NO COMMENT','Y')
      2  /
    
    1 row created.
    
    SQL> INSERT INTO T_20 VALUES(102,1002,00,'ABC','NO COMMENT','Y')
      2  /
    
    1 row created.
    
    
    SQL>  INSERT INTO T_30 VALUES(101,1000,NULL,'MSC','400','A')
      2   /
    
    1 row created.
    
    SQL>  INSERT INTO T_30 VALUES(101,1000,NULL,'MSC','500','S')
      2   /
    
    1 row created.
    
    SQL>  INSERT INTO T_30 VALUES(101,1001,NULL,'NDP','600','I')
      2   /
    
    1 row created.
    
    SQL>  INSERT INTO T_30 VALUES(101,1001,NULL,'NDP','700','R')
      2  /
    
    1 row created.
    
    SQL> INSERT INTO T_30 VALUES(102,1002,NULL,'ABC','800','L')
      2  /
    
    SQL> SELECT * FROM T_20
      2  /
    
     CONTROL     PO         AMENDNO      FACTOR     COMMENT_X         F 
    ----------         ----------    ----------        --------          --------------            ---- 
     101       1000          1       MSC       NO COMMENT           Y 
     101       1000          2       MSC       NO COMMENT           Y 
     101       1001          0       NDP       NO COMMENT           Y 
     101       1001          1       NDP       NO COMMENT           Y 
     101       1002          0       ABC       NO COMMENT           Y 
    
    SQL> SELECT * FROM T_30;
    
       CONTROL         PO     AMENDNO         FAC     AMOUNT  USER                            
    ----------      ---------   ----------   ---      ----------      ----                            
           101         1000        null         MSC        400      A                               
           101         1000        null        MSC        500       S                               
           101         1001        null         NDP        600      I                               
           101         1001        null         NDP        700       R                               
           101         1002        null        ABC        800       L                               
    NOW I WANT TO UPDATE T_30 THAT LOOKS AT BELOW:

    By top T_30 initially AmendNo pass is null in T_30. Now I want to update
    column based on a minimum value of AMENDNO in the column T_20
    best way I can explain is:

    In the table T_20
    For CONTROL 101-> there are two numbers with 1000 but with different Amendno like 1, 2 in.
    and
    In the T_30 Table for CONTROL 101-> there are two IN. with 1000 but currently null. REQUIREMENT IS NOW
    THE TWO DOCUMENTS SHOULD BE UPDATED WITH MIN (AMENDNO) FOR THIS CONTROL T_20. IN THIS CASE FOR THIS CONTROL
    101 MIN (AMENDNO) IS '1' (1, 2)

    SO 101 RECORDS (BOTH) OF NOW T_30 SHOULD BE UPDATED WITH '1' AS AMENDNO

    Once again 101 now have one another IN '1001' with two different 0.1 IN. now T_30 AmendNo should be updated with min (0.1) which is
    '0'

    production is expected to be lower after update:
    SQL> SELECT * FROM T_30;
    
       CONTROL      PO              AMENDNO  FAC     AMOUNT      USER                            
    ----------       ----------   ----------      ---        ---------     ----                            
           101       1000         1          MSC        400                      A                               
           101       1000         1          MSC        500          S                               
           101       1001         0          NDP        600           I                               
           101       1001         0          NDP        700           R                               
           101       1002         0          ABC        800           L  
    Propose any query pls...

    Thanks in advance...

    I'll try level better to format the pure code in the post...

    Concerning
    Prasanth

    Try this

    update t_30 x
       set amendno = (
                       select amendno
                         from (
                                select control, po, factor, min(amendno) amendno
                                  from t_20
                              ) y
                        where x.control = y.control
                          and x.po = y.po
                          and x.factor = y.factor
                     )
     where exists (
                       select amendno
                         from (
                                select control, po, factor, min(amendno) amendno
                                  from t_20
                              ) y
                        where x.control = y.control
                          and x.po = y.po
                          and x.factor = y.factor
                 )
              
    
  • Update the value of the column based on another value of the column to another table

    Hi all

    I have something very confused me and need your help.

    Having two tables A and B.

    Table A have 2 column (+ id + and desc1)

    Table B have column 2 also (+ transnum + and desc2)

    Now, I want to update the column desc2 of table B identical desc1 of table was where transnum of Table B same as the id of the table has.

    I use this SQL

    update of a2 set a2.desc2 = a1.desc1 of a2 on a2.transnum = a1.id inner join a1

    but this error occurs

    Error from line 5 in order:
    update of a2 set a2.desc2 = a1.desc1 of a2 on a2.transnum = a1.id inner join a1
    Error in the command line: 5 column: 35
    Error report:
    SQL error: ORA-00933: SQL not correctly completed command
    * 00933. 00000 - "command not properly ended SQL."
    * Question: *.

    * Action. *

    Hope someone can help me. TQ for help...
    SQL> create table a1 (id number(2),des varchar2(10));
    
    Table created.
    
    SQL> create table b1 (transnum number(2),des varchar2(10));
    
    Table created.
    
    SQL> insert into a1 values (1,'maran');
    
    1 row created.
    
    SQL> insert into b1 values (1,'ram');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> update b1 set des=(select des from a1 where b1.transnum=a1.id);
    
    1 row updated.
    
    SQL> select * from b1;
    
      TRANSNUM DES
    ---------- ----------
             1 maran
    
  • How to retrieve the values of a number of column by column in pl sql

    I wanted to know how can I retrieve the values of a column just in number and not the name of the column.

    user10989720 wrote:
    I need exactly this kind of thing.

    I am retrieving the name of the column from all_tab_columns and under this column name can I retrieve values using any kind of query sub.

    Select column_name
    from all_tab_columns
    where table_name = 'QUOTE_HEADERS_EXT' and
    column_id = 58

    You're still not understanding. You need to do if you want to get the values of the table dynamically.

    Either like this:

    SQL> create or replace type t_colval is table of varchar2(4000);
      2  /
    
    Type created.
    
    SQL> ed
    Wrote file afiedt.buf
    
      1  CREATE OR REPLACE FUNCTION get_column(p_sql IN VARCHAR2, p_column_no NUMBER) RETURN t_colval PIPELINED IS
      2    v_finaltxt  VARCHAR2(4000);
      3    v_v_val     VARCHAR2(4000);
      4    v_n_val     NUMBER;
      5    v_d_val     DATE;
      6    v_ret       NUMBER;
      7    c           NUMBER;
      8    d           NUMBER;
      9    col_cnt     INTEGER;
     10    f           BOOLEAN;
     11    rec_tab     DBMS_SQL.DESC_TAB;
     12    col_num     NUMBER;
     13  BEGIN
     14    c := DBMS_SQL.OPEN_CURSOR;
     15    DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
     16    d := DBMS_SQL.EXECUTE(c);
     17    DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
     18    FOR j in 1..col_cnt
     19    LOOP
     20      CASE rec_tab(j).col_type
     21        WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
     22        WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);
     23        WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);
     24      ELSE
     25        DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
     26      END CASE;
     27    END LOOP;
     28    LOOP
     29      v_ret := DBMS_SQL.FETCH_ROWS(c);
     30      EXIT WHEN v_ret = 0;
     31      v_finaltxt := NULL;
     32      CASE rec_tab(p_column_no).col_type
     33        WHEN 1 THEN DBMS_SQL.COLUMN_VALUE(c,p_column_no,v_v_val);
     34        WHEN 2 THEN DBMS_SQL.COLUMN_VALUE(c,p_column_no,v_n_val);
     35                    v_v_val := to_char(v_n_val);
     36        WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,p_column_no,v_d_val);
     37                    v_v_val := to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS');
     38      ELSE
     39        DBMS_SQL.COLUMN_VALUE(c,p_column_no,v_v_val);
     40      END CASE;
     41      PIPE ROW (v_v_val);
     42    END LOOP;
     43    DBMS_SQL.CLOSE_CURSOR(c);
     44* END;
    SQL> /
    
    Function created.
    
    SQL> select * from table(get_column('select * from emp',1));
    
    COLUMN_VALUE
    ---------------------------------------------------------------------------------------------------------------
    7369
    7499
    7521
    7566
    7654
    7698
    7782
    7788
    7839
    7844
    7876
    7900
    7902
    7934
    
    14 rows selected.
    
    SQL> select * from table(get_column('select * from emp',2));
    
    COLUMN_VALUE
    ---------------------------------------------------------------------------------------------------------------
    SMITH
    ALLEN
    WARD
    JONES
    MARTIN
    BLAKE
    CLARK
    SCOTT
    KING
    TURNER
    ADAMS
    JAMES
    FORD
    MILLER
    
    14 rows selected.
    
    SQL>
    

    Or like this:

    SQL> create or replace type t_colval is table of varchar2(4000);
      2  /
    
    Type created.
    
    SQL> ed
    Wrote file afiedt.buf
    
      1  CREATE OR REPLACE FUNCTION get_column(p_table IN VARCHAR2, p_column_no NUMBER) RETURN t_colval PIPELINED IS
      2    v_column_name VARCHAR2(30);
      3    v_rc          SYS_REFCURSOR;
      4    v_val         VARCHAR2(4000);
      5  BEGIN
      6    SELECT column_name
      7    INTO   v_column_name
      8    FROM   user_tab_columns
      9    WHERE  column_id = p_column_no
     10    AND    table_name = UPPER(p_table);
     11    OPEN v_rc FOR ('SELECT '||v_column_name||' FROM '||p_table);
     12    LOOP
     13      FETCH v_rc INTO v_val;
     14      EXIT WHEN v_rc%NOTFOUND;
     15      PIPE ROW(v_val);
     16    END LOOP;
     17    CLOSE v_rc;
     18* END;
    SQL> /
    
    Function created.
    
    SQL> select * from table(get_column('EMP',2));
    
    COLUMN_VALUE
    ----------------------------------------------------------------------------------------------------------------
    SMITH
    ALLEN
    WARD
    JONES
    MARTIN
    BLAKE
    CLARK
    SCOTT
    KING
    TURNER
    ADAMS
    JAMES
    FORD
    MILLER
    
    14 rows selected.
    
    SQL>
    
  • I have a column with two values, separated by a space, in each line. How to create 2 new columns with the first value in a column, and the second value in another column?

    I have a column with two values, separated by a space, in each line. How do I create 2 new columns with the first value in one column and the second value in another column?

    Add two new columns after than the original with space separated values column.

    Select cell B1 and type (or copy and paste it here) the formula:

    = IF (Len (a1) > 0, LEFT (A1, FIND ("", A1) −1), ' ')

    shortcut for this is:

    B1 = if (Len (a1) > 0, LEFT (A1, FIND ("", A1) −1), ' ')

    C1 = if (Len (a1) > 0, Member SUBSTITUTE (A1, B1 & "", ""), "")

    or

    the formula of the C1 could also be:

    = IF (Len (a1) > 0, RIGHT (A1, LEN (A1) −FIND ("", A1)), "")

    Select cells B1 and C1, copy

    Select cells B1 at the end of the C column, paste

Maybe you are looking for

  • Activation prblem

    I have a serial number of the IPad F6QQT07KFK15. I had a bad load anything on my IPad so I restarted and now it says IPad could not be activated because the activation server is not reachable. Try to connect to I tunes to activate, but how can I conn

  • Ask about the maximum memory recognized in the Satellite Pro 4200/4300 series

    I thought that the maximum RAM that could be recognized in the series SP4200/4300 of machines was the 64 MB on board, over a maximum of 2 X 128 MB tapes in the two expansion slots for a total of 320 MB. However, I came across an ad from someone who c

  • TBX-68 and PCI-7344 digital IO connector

    Is it possible to use this combination and what armoured cables are recommended? Thank you.

  • Impossible to copy and paste after the installation of updates

    Installed the updates this morning and now unable to copy a Web page and paste it in microsoft works. Can I use another program, but I'm not a happy camper. It tells me that I should not always immediately install new updates due to problems of this

  • Lost files updated (backup/uninstall) after running sfc / scannow.

    Very many updates display is no longer in Add/Remove programs. Is it possible to restore these, other than a clean install of Windows? XP Home SP3 I have .net and showing updates of IE8, but nothing else except the last automatic update running until