Create another table from existing table with distinct elements

I have a table applying select clause on which gives following result.
SQL> select *
2 from BRANCH_MSTR;
BRANCH_NO NAME
B1 Vile Parle(HO)
B2 Andheri
B3 Churchgate
B4 Sion
B5 Borivali
B6 Matunga
B1 C.S.Pur
B1 Shahidnagar
B1 Shahidnagar
I want to create another table ACCT_DTLS from this table which has only one column BRANCH_NO, but has only distinct elements.
I tried this,
SQL> create table ACCT_DTLS
2 (BRANCH_NO)
3 as
4 select BRANCH_NO
5 from BRANCH_MSTR;
Table created.
SQL> select 8
2
SQL> select *
2 from ACCT_DTLS;
BRANCH_NO
B1
B2
B3
B4
B5
B6
B1
B1
B1
9 rows selected.
But its not working.

HI Asit,
try like this
sql>create table table-name as (select distinct column-name from another-table);example
SQL> create table temp_emp2 as (select distinct deptno from scott.emp);
Table created.
SQL> select * from temp_emp2;
    DEPTNO
        30
        20
        10

Similar Messages

  • How to create another table with an exisiting table

    Hi,
    I want to create another table on the top of an existing table, my existing table has few constraints and checks, i want to create another table which should copy all checks and constraints from existing table.
    for example;
    <p>
    create table temp
    </p>
    <p>
    (idx number primary key,
    </p>
    <p>
    publish varchar2(250) not null,
    </p>
    <p>
    address varchar2(250) not null,
    </p>
    <p>
    rent number check (rent &gt;=0))
    --<strong>Required output</strong>
    </p>
    <p>
    create table temp1
    </p>
    <p>
    as select * from temp
    </p>
    <p>
    where 1=2
    the structure of the table received as an output has the following structure:
    </p>
    <p>
    CREATE TABLE TEMP1
    </p>
    <p>
    </p>
    <p>
    IDX NUMBER,
    </p>
    <p>
    PUBLISH VARCHAR2(250 BYTE) NOT NULL,
    </p>
    <p>
    ADDRESS VARCHAR2(250 BYTE) NOT NULL,
    </p>
    <p>
    RENT NUMBER
    </p>
    <p>
    </p>
    <p>
    where i could not find primary key and check constraint but i can see not null check. Is there anyway that i could get the all checks when i create another table on the top of an existing table.
    </p>
    Best Regards,

    A CTAS (CREATE TABLE AS SELECT ...) probably isn't what you're looking for since that doesn't handle constraints.
    Depending on the Oracle version, you can probably use the DBMS_METADATA package to get the DDL for the table and then modify the DDL to create the copy, i.e.
      1* select dbms_metadata.get_ddl( 'TABLE', 'TEMP' ) from dual
    SQL> /
    DBMS_METADATA.GET_DDL('TABLE','TEMP')
      CREATE TABLE "SCOTT"."TEMP"
       (    "IDX" NUMBER,
            "PUBLISH" VARCHAR2(250) NOT NULL ENABLE,
            "ADDRESS" VARCHAR2(250) NOT NULL ENABLE,
            "RENT" NUMBER,
             CHECK (rent >=0) ENABLE,
             PRIMARY KEY ("IDX")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "USERS"  ENABLE
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "USERS"You'd then just need to replace the "TEMP" with "TEMP1".
    Justin

  • How to create a table with distinct values ?

    I want to create a new table based on an existing table distinct values only, how can I avoid to create the duplicate values ?
    e.g.
    table1
    field1 field2
    0001 ABD
    0001 ABD
    0002 DCF
    0002 DCF
    new table
    field1 field2
    0001 ABD
    0002 DCF
    thanks

    create table table2
    as
    select distinct field1,field2
    from table1

  • Create another table based on data from table above

    Hi all am using EJB 3.0 as technology.
    I have a table where user insert records.
    The field are as below
    TableId, projectId, TaskId, TOdate, duration, comments.
    I need to traverse this table and create another table that will display duration perday.
    for example
    Monday Tuesday Wednesday Thursday Friday
    6hr 8hr 7hr 8hr 9hr
    Thank you for your help regards
    Lutchumaya

    How-to information added to the example page.
    I experimented (not altogether to my satisfaction) with APEX 4.0 sub-regions which won't be usable anywhere else at present, so haven't said anything about region layout. In earlier versions you could use 2 or 3 regions with suitable choices of region templates according to your preference.

  • How to create a table with directory which is on different machine

    Hi All,
    I have two servers one is db server db1 and another is app server app1
    I will get files from customer into app1 server in the path d:\files\incoming
    I want to create a table with directory (when I create that it will be mapped to db1) which maps to app1\d\files\incoming,
    please let me know how to achieve this,

    NSK2KSN wrote:
    Hi All,
    I have two servers one is db server db1 and another is app server app1
    I will get files from customer into app1 server in the path d:\files\incoming
    I want to create a table with directory (when I create that it will be mapped to db1) which maps to app1\d\files\incoming,
    please let me know how to achieve this,This is nothing to do with SQL or PL/SQL as such.
    The answer lies in the remit of your Windows administrator to create an alias or link that points
    from your db server to your app server.
    Once that is done, you can refer to the directory as if it was a local one situated on the db server, as normal.
    Edited by: Paul Horth on Feb 21, 2013 10:13 AM
    Changed Unix to Windows when I noticed the direction of the slashes.

  • How to create a table with events in smartforms?

    How to create a table with events view in smartforms?
    It doesn't like general table with header, main area and footer.
    for example:
    in smartforms: LE_SHP_DELNOTE
    table name is TABLEITEM(Delivery items table)

    Vel wrote:
    I am creating XML file using DBMS_XMLGEN package. This XML file will contain data from two different database tables. So I am creating temporary table in the PL/SQL procedure to have the data from these different tables in a single temporary table.
    Please find the below Dynamic SQL statements that i'm using for create the temp table and inserting the data into it.
    Before insert the V_NAME filed, i will be appending a VARCHAR field to the original data.
    EXECUTE IMMEDIATE 'CREATE TABLE TEMP_TABLE (UNIQUE_KEY NUMBER , FILE_NAME VARCHAR2(1000), LAST_DATE DATE)';
    EXECUTE IMMEDIATE 'INSERT INTO TEMP_TABLE values (SEQUENCE.nextval,:1,:2)' USING V_NAME,vLastDate;What exactly i need is to eliminate the INSERT portion of it,Since i have to insert more 90,000 rows into it. Is there way to have the temp table created with data in it along with the sequence value as well.
    I'm using Oracle 10.2.0.4 version.
    Edited by: 903948 on Dec 22, 2011 10:58 PMWhat you need to do to eliminate the INSERT statement is to -- as already suggested by others - eliminate the temporary table. You don't need it. It is just necessary overhead. Please explain why you (apparently) believe that the suggestion of a view will not meet your requirements.

  • How to create a table with auto number?

    I want to create a table with a column default to increasing integer. The first thought came up to me is to use sequence. I find in google the following create statement create table etl_stats1 (run_time date,arr_rows int,lid int default nextval('etl_req'));get ORA-04044: procedure, function, package, or type is not allowed here.
    There are threads metioned using trigger to do the job. But does what not support default to a sequence, it appears such a nature way.

    You need to create a sequence and a trigger:
    SQL> create table etl_stats1 (run_time date,arr_rows int,lid int)
      2  /
    Table created.
    SQL> create sequence etl_seq;
    Sequence created.
    SQL> create or replace
      2    trigger etl_stats1_bir
      3    before insert
      4    on etl_stats1
      5    for each row
      6    begin
      7        select etl_seq.nextval into :new.lid from dual;
      8  end;
      9  /
    Trigger created.
    SQL> insert into etl_stats1 (run_time,arr_rows) values(sysdate,99)
      2  /
    1 row created.
    SQL> select * from etl_stats1
      2  /
    RUN_TIME   ARR_ROWS        LID
    15:38:41         99          1
    SQL> SY.

  • How to Create a Table with Merge and partitions in HANA

    Hi,
    What is the best way to create a Table with MERGE and PARTITION and UNLOAD PRIORITIES.
    Any body can you please give me some examples.
    Regards,
    Deva

    Ok,
    1) the UNLOAD PRIORITY has nothing to do with the order of data loads in your ETL process
    2) Unloading of columns will happen automatically. Don't specify anything specific for the tables, then SAP HANA will take care about it
    3) Not sure where you get your ideas from, but there is no need to manually "flush" tables or anything like that. SAP HANA will take care of memory housekeeping.
    4) Partitioning and how to specify it for tables has been largely documented. Just read up on it.
    5) Delta Merge will happen automatically, as long as you don't prevent it (e.g. by trying to outsmart the mergedog rules)
    Seriously, I get the impressions that this list of requirements is based on some hear-say and lack of actual information and experience with SAP HANA. There are a couple of extensive discussions on data loading optimization available here in SCN and on SAPHANA.COM. Please read those first.
    All this had been discussed broadly a couple of times.
    - Lars

  • Dynamically creating oracle table with csv file as source

    Hi,
    We have a requirment..TO create a dynamic external table.. Whenever the data or number of columns change in the CSV file the table should be replaced with current data and current number of columns...as we are naive experienced people in oracle please give us a clear solution.. We have tried with a code already ..But getting some errors. Code given below..
    thank you
    we have executed this code by changing the schema name and table name ..Remaining everything same ...
    Assume the following:
    - Oracle User and Schema name is ALLEXPERTS
    - Database name is EXPERTS
    - The directory object is file_dir
    - CSV file directory is /export/home/log
    - The csv file name is ALLEXPERTS_CSV.log
    - The table name is all_experts_tbl
    1. Create a directory object in Oracle. The directory will point to the directory where the file located.
    conn sys/{password}@EXPERTS as sysdba;
    CREATE OR REPLACE DIRECTORY file_dir AS '/export/home/log';
    2. Grant the directory privilege to the user
    GRANT READ ON DIRECTORY file_dir TO ALLEXPERTS;
    3. Create the table
    Connect as ALLEXPERTS user
    create table ALLEXPERTS.all_experts_tbl
    (txt_line varchar2(512))
    organization external
    (type ORACLE_LOADER
    default directory file_dir
    access parameters (records delimited by newline
    fields
    (txt_line char(512)))
    location ('ALLEXPERTS_CSV.log')
    This will create a table that links the data to a file. Now you can treat this file as a regular table where you can use SELECT statement to retrieve the data.
    PL/SQL to create the data (PSEUDO code)
    CREATE OR REPLACE PROCEDURE new_proc IS
    -- Setup the cursor
    CURSOR c_main IS SELECT *
    FROM allexperts.all_experts_tbl;
    CURSOR c_first_row IS ALLEXPERTS_CSV.logSELECT *
    FROM allexperts.all_experts_tbl
    WHERE ROWNUM = 1;
    -- Declare Variable
    l_delimiter_count NUMBER;
    l_temp_counter NUMBER:=1;
    l_current_row VARCHAR2(100);
    l_create_statements VARCHAR2(1000);
    BEGIN
    -- Get the first row
    -- Open the c_first_row and fetch the data into l_current_row
    -- Count the number of delimiter l_current_row and set the l_delimiter_count
    OPEN c_first_row;
    FETCH c_first_row INTO l_current_row;
    CLOSE c_first_row;
    l_delimiter_count := number of delimiter in l_current_row;
    -- Create the table with the right number of columns
    l_create_statements := 'CREATE TABLE csv_table ( ';
    WHILE l_temp_counter <= l_delimiter_count
    LOOP
    l_create_statement := l_create_statement || 'COL' || l_temp_counter || ' VARCHAR2(100)'
    l_temp_counter := l_temp_counter + 1;
    IF l_temp_counter <=l_delimiter_count THEN
    l_create_statement := l_create_statement || ',';
    END IF;
    END;
    l_create_statement := l_create_statement || ')';
    EXECUTE IMMEDIATE l_create_statement;
    -- Open the c_main to parse all the rows and insert into the table
    WHILE rec IN c_main
    LOOP
    -- Loop thru all the records and parse them
    -- Insert the data into the table created above
    END LOOP;

    The initial table is showing errors and the procedure is created with compilation errors
    After executing the create table i am getting the following errors
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "identifier": expecting one of: "badfile,
    byteordermark, characterset, column, data, delimited, discardfile,
    disable_directory_link_check, exit, fields, fixed, load, logfile, language,
    nodiscardfile, nobadfile, nologfile, date_cache, processing, readsize, string,
    skip, territory, varia"
    KUP-01008: the bad identifier was: deli
    KUP-01007: at line 1 column 9
    ORA-06512: at "SYS.ORACLE_LOADER", line 19

  • Problem creating a table with a subquery and a dblink

    Hello!!
    I have a little problem. When I create a table with a subquery and a dblink, for example:
    CREATE TABLE EXAMPLE2 AS SELECT * FROM EXAMPLE1@DBLINK
    the table definition is changed. Fields with a type of CHAR or VARCHAR2 are created with a size three times bigger than the original table in the remote database. Field of type DATE and NUMBER are not changed. For example if the original table, in the database 1, has a field of type CHAR(1) it is create in the local database with a type of CHAR(3), and a VARCHAR2(5) field is created with VARCHAR2(15).
    Database 1 has a WE8DEC character set.
    Database 2 has a AL32UTF8 character set.
    Could it be related to the difference in character sets?
    What can I do to make Oracle use the same table definition when creating a table in this way?
    Thanks!!

    That is related to character sets, and probably necessary if you want all the data in the remote table to be able to fit in the new table.
    When you declare a column VARCHAR2(5), by default, you're allocating 5 bytes of storage. In a single-byte character set, which I believe WE8DEC is, that also happens to equate to 5 characters. In a multi-byte character set like AL32UTF8, though, 1 character may require up to 3 bytes of storage, so you'd need to allocate 15 bytes to store that data. That's what's going on here.
    You could still store all the data if you create the table locally by explicitly requesting 5 characters of storage by declaring the column VARCHAR2(5 CHAR). You could also set the NLS_LENGTH_SEMANTICS parameter to CHAR rather than BYTE before creating the table, but I believe that both of these will only apply when you're explicitly defining columns as part of your CREATE TABLE. I don't believe either will apply to CTAS statements.
    Justin

  • Create View table with multiple table

    I want to create View table with relation with multiple tables.
    for ex
    table 1
    mrnno
    mrnqty
    table 2
    mrnno
    issqty
    table 3
    mrnno
    retqty
    want to create view table where i can see the sum (mrnqty), sum(issqty),sum(retqty) group by mrnno
    sandy

    Hi
    CREATE OR REPLACE FORCE VIEW my_view AS
    WITH t1 AS
    (SELECT mrnno,
                      SUM(mrnqty) sum1
    FROM table_1
    GROUP BY mrnno),
    t2 AS
    (SELECT mrnno,
                      SUM(issqty) sum2
    FROM table_2
    GROUP BY mrnno),
    t3AS
    (SELECT mrnno,
                      SUM(retqty) sum3
    FROM table_3
    GROUP BY mrnno)
    SELECT mrnno,
                    sum1,
                   sum2,
                   sum3
    FROM t1,t2,t3
    WHERE t1.mrnno = t2.mrnno
    AND       t1.mrnno = t3.mrnnoCheers
    Ben
    http://www.munkyben.wordpress.com
    Don't forget to mark replies helpful or correct ;)

  • Create n tables with different number names

    Hi guys, I work with SQL Server 2008 and OS Windows Server 2008 R2 64 bits. I have to create 10 tables with different names e.g. 'Image1', 'Image2', and so on. For this goal, I use a loop and concatenation. Here is the code:
    DECLARE @i INT
    DECLARE @v_table_n CHAR
    SET @i=1
    SET @v_table_n='Image'
    WHILE (@i<=10)
    BEGIN
        DECLARE @STR VARCHAR(100)
           SET @STR = 'CREATE TABLE SQL_DB_Filestream.dbo.Image1' + @v_table_n + CAST(@i AS VARCHAR(10)) + ' (
           [ID_RowFeatVec] INTEGER NOT NULL PRIMARY KEY,
           [CF1] FLOAT,
           [CF2] FLOAT,
           [CF3] FLOAT
           EXECUTE @STR
        SET @i = @i + 1;
    END
    GO
    As a result, an error message appears:
    "The name 'CREATE TABLE SQL_DB_Filestream.dbo.Image1I1 (
        [ID_RowFeatVec] INTEGER NOT NULL PRIMARY KEY' is not a valid identifier."
    I have tried a lot of versions but it doesn't work.
    What am I doing wrong?
    Best wishes
    SV_proj

    >> I have to create 10 tables with different names e.g. 'Image1', 'Image2', and so on. For this goal, I use a loop and concatenation. Here is the code: <<
    1) An SQL Programmer would write ten CREATE TABLE statements. Are you old enough to know about Rube Goldberg? He was a cartoonist who invented inanely complex device for simple task!
    2) Ten identical tables is a huge design flaw. It is so awful I want to use it in one of my books. Tables are sets. A set is completed whole, or as Cantor said “a many that is treated as a one” (it sounds cool in German or Esperanto). 
    3) We hate loops in SQL. This is a declarative language. I will bet you have no idea what that means. 
    What you want to do is mimic a magnetic tape file system from the 1950's. We used to put a label on the tapes based on the date or a sequence number. Not a completed whole. 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • How to create editable table with one empty row ?

    I'm looking for solution how to create editable table with one empty row using ADF BC. I have seen this solution in application that was created in JHeadstart and it's very well idea to use it insead of creation form.

    hammm, i do it this:
    drop the VO on the page, select Table->ADF Table....
    so, drop the botton create, from de VO->operations->create (the firts), and right botton (mouse) Edit binding....
    in Data collection select the VO, in Select an action select CreateInsert
    luck

  • Create Internal table with fields coming as query result of multiple tables

    Hi
    I want to create internal table with the fileds which come as a result of a select query from multiple tables

    My code is something like this. I need  the data from various fields of diff tables depending on the excel file. This data is then to be put in a internal table
    *& Report  Z_EXTC
    report  z_extc.
    type-pools : abap.
    parameter: objname(25) type c.
    data : idetails type abap_compdescr_tab,
           xdetails type abap_compdescr.
    data : ref_table_des type ref to cl_abap_structdescr.
    data: p_table type string.
    data:l_string type string,
         l_filename(200) type c,
         dy_line  type ref to data,
         xfc type lvc_s_fcat,
         ifc type lvc_t_fcat.
    types:begin of itab,
         tabname type dd03l-tabname,
         fieldname type dd03l-fieldname,
         end of itab.
    types:begin of atab,
          tabname type dd03l-tabname,
          cnt type string,
          end of atab.
    field-symbols: <dyn_table> type table,
                   <dyn_table1> type standard table,
                   <dyn_wa>,
                   <dyn_field>.
    data: dy_table type ref to data,
          dy_table1 type ref to data.
    data: itab1 type itab occurs 0 with header line.
    data atab1 type atab occurs 0 with header line.
    data frstrec type i value 0.
    data lastrec type i value 0.
    l_string = ''.
    call function 'GUI_UPLOAD'
      exporting
        filename                      = 'C:\excel_files\FIELDS_CC.TXT'
       filetype                      = 'TXT'
       has_field_separator           = 'X'       .
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    *Refresh itab1.
    loop at itab1.
      on change of: itab1-tabname.
        if lastrec = 1.
          move l_string to atab1-cnt.
       move itab1-tabname to atab1-tabname.
          append atab1.
          l_string = ''.
        endif.
        move itab1-tabname to atab1-tabname.
        frstrec = 1.
      endon.
      if frstrec = 1.
        concatenate l_string itab1-fieldname into l_string separated by
    space.
        lastrec = 1.
      endif.
    *write:/ itab1-tabname,40 itab1-fieldname.
    endloop.
    move l_string to atab1-cnt.
    append atab1.
    loop at atab1.
      write:/ atab1-tabname,5 atab1-cnt.
    endloop.

  • How to create a table with varied number of columns?

    I am trying to create a balance table. The colunms should include years between the start year and end year the user will input at run time. The rows will be the customers with outstanding balance in those years.
    If the user input years 2000 and 2002, the table should have columns 2000, 2001, 2002. But if the user input 2000 and 2001, the table will only have columns 2000 and 2001.
    Can I do it? How? Thanka a lot.

    Why did you create a new thread for this?
    How to create a table with varied number of columns?

Maybe you are looking for

  • Can anyone tell me why this project is sticking in the timeline?

    Hi guys. I have been using FCP for a while now with great success. Generally I record on my handycam which is a mini DVD format. then I process the clips though mpg streamclip to DV pal and they become ".mov" files. (I do this to demux the clips audi

  • How to put the product hierarchy in the bw?

    I want to have the product hierarchy in the reporting, in a way, that the users can open and shut the elements of the tree. So i added the foreign hierarchy criteria 0PRODH1, 2, 3 to the InfoObject 0MATERIAL. Then I used InfoSource 0MATERIAL_LPRH_HIE

  • Smart Form translation

    I have a Smart Form with original language EN, and several translated languages not including RU. I need to add the Russian translation. I got into SE63 and called up the form by name under Translation, Long texts, SAPscript, Smart Forms. I got messa

  • Safari Won't Open Specific Website

    I was using an auction website and had numerous tabs open and let to have dinner, returned to computer and all the tabs were frozen at a specific time. I emptied cache and restarted computer and then Safari. Now, the auction site will not load. I rec

  • Adobe CS3 deactivation, computers re-installed without CS3 deactivation, how to reset licence key?

    Need help, we have CS3 Design standard licences, that have not deactivated just reinstalled computers and now I'm unable to active CS3. The maximum number of activations allowed for this copy of Adobe Design Suite standard CS3 has been reached. How c