By comparing the data in the pass of 2 tables - with a calculation

There are 20 records in 2 different tables (A and B). Records relate to periods between Jan 07 and 09 March. There is a logic that says that all records of 15 who are understood between Jan 07 and 08 Dec; their amount must be changed in Table B. While the amount for the rest 5 records that fall between Jan 09 and March 09 would remain the same. The formulas to be applied in the first 15 recordings is "amount/.50*0.125" and this result should take into account in the new table in the amount column.


Now the task to ensure that the calculation that happened correctly in table A, for these 15 records that fall between January 2007 and December 2008 in Table B, and that the amount is the same for the records for the period after January 2009. I will conduct trials only that the new amount after the calculation of business logic is reflected in the new column of Table B.

This, to a sql statement.

Thank you

Dush

you might want to try this pseudo-code

update [2nd table]
   set amount = (select t.amount / .50 * 0.125
                   from (select id, rownum rn, amount
                           from [1st table]
                          where period_date between '01-JAN-07' and '31-MAR-09'
                         order by id) t
                 where  t.rn <= 15
                   and  t.id = [2nd table].id)
 where id in (select t.id
                from (select id, rownum rn, amount
                        from [1st table]
                      where period_date between '01-JAN-07' and '31-MAR-09'
                      order by id) t
               where  t.rn <= 15)

It's even better if you can post the actual tables, columns and a few examples of data

Tags: Database

Similar Questions

  • How to export data to excel that has 2 tables with the same number of columns and the column names?

    Hi everyone, yet once landed upward with a problem.

    After trying many things to myself, finally decided to post here...

    I created a form in form builder 6i in which clicking on a button, the data gets exported to the excel sheet.

    It works very well with a single table. The problem now is that I cannot do the same with 2 tables.

    Because the tables have the same number of columns and the columns names.

    Here are the 2 tables with column names:

    Table-1 (MONTHLY_PART_1) Table-2 (MONTHLY_PART_2)
    SL_NOSL_NO
    MODELMODEL
    END_DATEEND_DATE
    U-1U-1
    U-2U-2
    U-4U-4
    ..................
    ..................
    U-20U-20
    U-25U-25

    Given that the tables have the same column names, I get the following error :

    402 error at line 103, column 4

    required aliases in the SELECT list of the slider to avoid duplicate column names.

    So how to export data to excel that has 2 tables with the same number of columns and the column names?

    Should I paste the code? Should I publish this query in 'SQL and PL/SQL ' Forum?

    Help me with this please.

    Thank you.

    Wait a second... is this a kind of House of partitioning? Shouldn't it is a union of two tables instead a join?

    see you soon

  • GetLength errors on CLOB. Retrieves the size of a table with CLOB columns

    Hello

    I try to find the size of a CLOB to a table column and get the error

    PLS-00306: wrong number or types of arguments in the call to "GETLENGTH.

    When you try to use dbms_lob.getlength. Here is the code


    declare
    number num.
    Start
    for rec in (select xmlupload from FILE_TABLE where file_table_id = 33635) loop
    NUM: = dbms_lob.getLength (rec.xmlupload);
    end loop;
    dbms_output.put_line (num);
    end;

    Database version: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi


    I'm actually trying to find the size of a table with CLOB columns, is there an easy way to do this Besides using getlength and without having to contact the Administrators (they are outsourced)?

    It works fine on my computer, the version is also 10g.

    SQL> declare
      2  num number;
      3  begin
      4  for rec in (select cntnt from ims_toms_msge where rownum<3) loop
      5  num := dbms_lob.getLength(rec.cntnt);
      6  dbms_output.put_line(num);
      7  end loop;
      8
      9  end;
     10  /
    3837
    3837
    
    PL/SQL procedure successfully completed.
    

    You should check if xmlupload is the CLOB data type.
    In addition, if you just want to get the CLOB size, you can use LENGTH() as well, you will get the same result;

    SQL>  select length(cntnt), dbms_lob.getLength(cntnt) from ims_toms_msge where rownum<2;
    
    LENGTH(CNTNT) DBMS_LOB.GETLENGTH(CNTNT)
    ------------- -------------------------
             3837                      3837
    

    Published by: PhoenixBai on September 24, 2009 13:40

  • How to get the title of a table with FDK?

    How to get the title of a table with ad FDK C++?

    I did people. I get objects table paragraph and later the textual elements for each of them.

  • How to compare the structure of multiple tables... have just TOAD &amp; CAULK

    Hello

    Several times, I get a request to load the data in the tables of one schema to another. But before doing that I need to compare the structures of tables in the source and target schema.

    How can I do? The list of tables to continue to change every now and then. A TOAD there is no option to compare a selected table list. Comparing schemas whole is not an option before me that patterns are too huge and it takes a lot of time to do the level schema comparison.
    Note This is a client machine, and we are not allowed to install any s/w.


    I'm working on the provision of a unix script that does this for me. But that may take some time given the intense work schedule and my lack of knowledge of unix scripting languages.

    Can anyone suggest a way to do it?

    Regds,
    Malika

    I need to compare the structures of tables in the schema source & target.

    SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'SOURCE '.
    LESS
    SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'TARGET'
    UNION
    SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'TARGET'
    LESS
    SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'SOURCE '.

  • compare the value of previous line with the current value

    I need to compare the previous value with the current value. All Oracle functions could there be to do?
    Something similar as a result.
    If previous (Amt {}) > Current (({Amt}) then 0 Else Null.)

    Something like that?

    SQL> WITH test_data AS
      2  (
      3          SELECT 107019 AS ID, 1583 AS AMT FROM DUAL UNION ALL
      4          SELECT 107019 AS ID, 1572 AS AMT FROM DUAL UNION ALL
      5          SELECT 107019 AS ID, 1572 AS AMT FROM DUAL
      6  )
      7  -- END SAMPLE DATA
      8  SELECT  ID
      9  ,       (CASE
     10                  WHEN LAG(AMT,1) OVER (PARTITION BY ID ORDER BY ID) = AMT THEN NULL
     11                  ELSE AMT
     12          END) AS AMT
     13  FROM test_data;
    
            ID        AMT
    ---------- ----------
        107019       1583
        107019       1572
        107019
    
  • How to compare the original value of table size and the changed value

    juice I took a table and then took the function of the size of the array so that it shows me the number of the elements present in it. so it'll be the original table size value. If the items in the table even changes another value, then I want to compare the original table size value and the value of table size has changed. How to compare... Please help me. you are looking for a possible solution. Thank you

    Hi stara,

    the attached picture shows the ony solution.

    It will be useful.

    Mike

  • in comparing the index and a table between instances PK

    Aloha!

    I'll compare the indices and the PK's (Constraint) of 3 instances.

    This table of s/n/s best use? The comparison is made on a specific schema only.

    Please be kind enough to write the script that I need or tables.

    PS
    Which is better dba_ind_columns or dba_objects?

    BR,
    Hades

    Published by: TheHades0210 on December 2, 2012 21:58

    TheHades0210 wrote:
    Hello

    Thank you for these elaborate explanation. I just want to know why under dba_ind_Columns INDEX_NAME, some of the names of the characters $ and #. Is it system generated index?

    very probably are generated, the system but not necessarily.

    If so, what application generates this index?

    I don't know what applications are installed in your DB.
    No objects appear spontaneously.
    Someone has published the DDL that created.

  • Compare the result of a query with a number and return a message

    Hello
    I have the following query in oracle 9i:

    SELECT COUNT (*)
    OF hourly_files
    WHERE date_received = TO_DATE ((SELECT TO_CHAR (SYSDATE - INTERVAL '1' DAY, 'DDMMYYYY')
    (THE DOUBLE), 'DDMMYYYY');

    This will produce a number of lines required

    I need to compare the number of output with another number hardcoded (threshold) and print an appropriate example message

    If the result of the query above is 18000 and the number of threshold is fixed at 20000, then output a meesage:

    Number of files received less than 2000

    Any help will be very appreciated!

    Thank you.
    SQL> ed
    Wrote file afiedt.buf
    
      1  SELECT CASE WHEN COUNT(*) >5 THEN 'Number is > than 5'
      2              WHEN COUNT(*) <1 THEN 'Its less than 1'
      3  ELSE 'Its in between'
      4  END
      5  FROM emp
      6* WHERE deptno=20
    SQL> /
    
    CASEWHENCOUNT(*)>5
    ------------------
    Its in between
    
    SQL> SELECT COUNT(*) FROM emp
      2  WHERE deptno=10;
    
      COUNT(*)
    ----------
             3
    
  • Find the size of a table with partitions; Two questions

    DB version: 11.2.0.4

    Platform: Oracle Linux 6.4

    The slot table MH_PKT_HEADR in UTMSBL schema has more than 5000 partitions.

    Because there partitions, you cannot use just view DBA_SEGMENTS to determine the size of the table.

    So, I tried to use 2 SQLs mentioned below. Query1 returned 5 GB. But Query2 has returned a value zero. Query2 is actually a note metalink mentioned below, so he cannot deceive you, I guess.

    That is the reliable accurate query: Query1 or Query2?

    No idea why Query2 returns a Null value?

    - Query1

    fixed lines 200

    Col TABLE_NAME format a18

    with

    BaseData as)

    Select the owner

    nom_segment

    segment_type

    , round (sum (bytes) / 1024/1024/1024) GB

    sum (bytes) bytes

    count (*) segment_count

    of s dba_segments

    Group by owner, nom_segment, segment_type

    )

    ,

    LOB type as data)

    Select the owner

    table_name

    nom_segment

    of dba_lobs

    )

    ,

    all_segs like)

    Select coalesce (lobs.table_name, basedata.segment_name) table_name

    basedata.*

    of basedata

    left outer join

    type LOB data

    on (basedata.segment_name = lobs.segment_name

    and basedata.owner = lobs.owner)

    )

    Select table_name

    sum (bytes) bytes

    sum (gb) GB

    of all_segs

    where table_name = 'MH_PKT_HEADR'.

    and owner = 'UTMSBL. '

    Table_name group;

    TABLE_NAME BYTES GB

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

    5869469696 5 MH_PKT_HEADR

    - Request 2

    -Source: how to calculate the size of a Table that contains outline CLOB and BLOB (Doc ID 118531.1()

    SELECT

    (SELECT SUM (S.BYTES) - the Segment of Table size

    FROM DBA_SEGMENTS S

    WHERE S.OWNER = UPPER ('UTMSBL') AND

    (S.SEGMENT_NAME = UPPER ('MH_PKT_HEADR'))) +

    (SELECT SUM (S.BYTES) - the size of the Lob Segment

    FROM DBA_SEGMENTS S, DBA_LOBS L

    WHERE S.OWNER = UPPER ('UTMSBL') AND

    (L.SEGMENT_NAME = S.SEGMENT_NAME AND L.TABLE_NAME = UPPER('MH_PKT_HEADR') AND L.OWNER = UPPER('UTMSBL'))) +

    (SELECT SUM (S.BYTES) - the size of the Lob Index

    FROM DBA_SEGMENTS S, DBA_INDEXES I

    WHERE S.OWNER = UPPER ('UTMSBL') AND

    (I.INDEX_NAME = S.SEGMENT_NAME AND I.TABLE_NAME = UPPER('MH_PKT_HEADR') AND INDEX_TYPE = 'LOB' AND I.OWNER = UPPER('UTMSBL')))

    "TOTAL TABLE SIZE.

    FROM DUAL;

    TOTAL TABLE SIZE

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

    SELECT

    (SELECT nvl (SUM (S.BYTES), 0)-dimensions of the Segment Table)

    FROM DBA_SEGMENTS S

    WHERE S.OWNER = UPPER ('UTMSBL') AND

    (S.SEGMENT_NAME = UPPER ('MH_PKT_HEADR'))) +

    (SELECT nvl (SUM (S.BYTES), 0)-Segment Lob size)

    FROM DBA_SEGMENTS S, DBA_LOBS L

    WHERE S.OWNER = UPPER ('UTMSBL') AND

    (L.SEGMENT_NAME = S.SEGMENT_NAME AND L.TABLE_NAME = UPPER('MH_PKT_HEADR') AND L.OWNER = UPPER('UTMSBL'))) +

    (SELECT nvl (SUM (S.BYTES), 0)-size of the Lob Index)

    FROM DBA_SEGMENTS S, DBA_INDEXES I

    WHERE S.OWNER = UPPER ('UTMSBL') AND

    (I.INDEX_NAME = S.SEGMENT_NAME AND I.TABLE_NAME = UPPER('MH_PKT_HEADR') AND INDEX_TYPE = 'LOB' AND I.OWNER = UPPER('UTMSBL')))

    "TOTAL TABLE SIZE.

    FROM DUAL;

    David Fitzjarrell

  • How to find the size of a table with CLOB

    Hello

    I have a table with CLOB as follows:

    SQL > desc INFO_MESSAGES

    Name                                      Null?    Type

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

    CLNT_OID NOT NULL VARCHAR2 (16)

    USR_OID NOT NULL VARCHAR2 (16)

    LAST_client_msg_ID VARCHAR2 (36)

    LAST_client_msg_DATE DATE

    LAST_client_msg CLOB

    LAST_USR_MSG_BOD_ID VARCHAR2 (36)

    DATE OF LAST_USR_MSG_DATE

    CLOB LAST_USR_MSG

    Now I just want to find out what is the size/area total absorbed by the table (including the CLOB columns), so how can I find? I think that the usual command does not - the

    Select format from dba_segments where nom_segment = "INFO_MESSAGES" is only showing 7 MB, while I think that the table has several GB of space due to the CLOB.

    Also to add one more detail: when dba_segments seeking, I see a result like this:

    Select * of dba_segments order by bytes DESC;

    MIGRTN SYS_LOB0000111131C00008$ $ LOBSEGMENT SAMS DATA1 20690 6 1963 14528000 119013376000 <-the top row

    MIGRTN this is the schema where this INFO_MESSAGES table is present.

    Thanks,

    OrauserN

    you will need to add the segment_size of the LOB segments to the segment_size of the table. The connection between the two pieces of information you find in USER_LOBS (or the corresponding ALL_, DBA_ objects).

  • Problems with the sorting of a table with drop-down text cells

    I have 2 subjects (among a number of topics), and each section has a table.

    I followed Mr Grainge help to sort a table without an arrow and in heading 1, it does not work as expected. When I generate my WebHelp I can click on any one of my columns will sort the data. I can see the little black arrow head and black arrow head.

    I know absolutely nothing about HTML and basically followed the instructions for help and got to work.

    The second is a little different in that has 3 columns and rows about 375. The second column contains cells with the drop down text (but not all) as some have yet to be converted.

    The questions are:

    (1) a column will sort once only. So if I click on column 1, the head of black arrow appears. Subsequently, no amount of click will change the State of the data. I can sort the data on any of the 2 remaining columns, but I can never switch between ascendants and descendants of sequence on the same column.

    (2) in Design view, I see all the data in each cell. After that I generated my WebHelp, some of the cells that contain drop-down text fields are missing. Some are, and some are not. Those who are there, work perfectly when I click on the text and the text of the menu drop-down appears. Each drop-down text field has a bookmark.

    ((3) continuous on 2) above, if I use the combination of keys ctrl-w in design, some of the cells that contain text to menu drop-down are missing (probably all those lacking in the Webhelp) and oddly, some of the borders of the cells (I used light blue) are missing. However, they are there in the WebHelp. A sample is attached.

    Get my second table to work as I had hoped would be fantastic and worthwhile so far. However, I'm not quite there yet and need your help and suggestions.

    Please see the last item in the list under the Notes. I suspect this is the problem.

    See www.grainge.org for creating tips and RoboHelp

    Follow me @petergrainge

  • How to read/select only the records from a table with non-English characters

    Hello
    I need to find all records in a table with non-English (mainly Chinese) characters in at least one of the varchar2 columns. Let me kow if someone knows a way by which it can be done using SQL/PLSQL.

    Best regards
    Imran
    select * from your table
    where your_column != convert(your_column, 'UTF8', 'US7ASCII)
    

    Replace UTF8 with your database character set

    Published by: thtsang on October 15, 2009 03:53 - unequal sign change of! =

  • How to compare the clone of a partition with partition source?

    I just cloned two partitions of a HARD resident to an auxiliary Momentus XL HARD drive in a case connected to the computer via eSATA.

    Is there a way to compare each partition cloned with its original for integrity? If it was just a file, I would use a unix/cygwin utility like diff or cmp.

    However, it is a partition.

    Sorry, but I don't understand the relationship between your question and the recovery of Toshiba.

    You know that copy of image recovery or cloning can be used for the installation of recovery?

  • retrieve the information of partition table with lack of offline data file

    I just restored a backup of a database. When I unzipped data files, I discovered that a single data file was so damaged in the starting order of the database, I had to put the offline data file. The tablespace which reports the data file holds the information of partition of a table. Since I have no archives from when the data file has been created, I know it is not possible to recover the data file, I have to recover as many lines as possible other files in the tablespace data but when export or create the table as what to choose in the affected partition get ORA-00376 : cannot read file 1624 at the moment.

    is there a way to tell oracle to ignore the data offline file and export the remaining data file information?

    Just to clarify my situation a little more;
    iI have a table called PPGA_ACTABOPRE that is partitioned by HASH and has 20 partitions, each partition in a different tablespace and tablespace each have about 8 files of data. A data file in the partition 9 is missing and I want is to get the information from the files of the remaining data, but whenever I issue a select statement or an exp or anything I get ORA-00376.

    I try to set the flag to ignore blocks corrupt with run DBMS_REPAIR. SKIP_CORRUPT_BLOCKS ('PPGA', 'PPGA_ACTABOPRE'); and then select the info but it did not work.

    Any suggestion would be appreciated;
    Thanks in advance

    For the actabopre_p08 partition, some files are available, and we're not. You can access data at the segment level, because some extensions are missing.

    You would need to access the data by rowid. You could loop through dba_extents and use dbms_rowid.create to generate a list of ROWID that may exist in the available data files.

    This may help: -.

    http://kerryosborne.Oracle-guy.com/2009/02/saving-rows-from-corrupt-blocks/
    http://kerryosborne.Oracle-guy.com/scripts/save_u.SQL

    Published by: Robert Geier on March 12, 2010 15:33

Maybe you are looking for

  • ios10 = not available in windows Explorer iphone update

    After the ios10, my phone is available in itunes but not windows Explorer. How users are expected to access the photos of their PC? (and don't say buy a Mac...)

  • Re: Satellite C660 - 29G does not detect wireless networks

    Hello. I own a SATELLITE C660 - 29 G PSC1LE, bought in Spain. Once shaped my development pc, I installed Windosws 7 64-bit. As I lost the DVD attached to the purchase of the laptop, I have downloaded all the drivers for my model based on the Toshiba

  • Windows error code updates 0x8024400A

    Restore my computer to original state. under windows xp, IE8, I can't get the updates, install MSE, install SP3 (click on the link and I get "page you requested is not available), or use FixIt.  FixIt tells me that I need SP3 update gives 0x8024400A

  • Laptop screen shows negative colors

    my laptop has been update (windows update) and GF closed the screen, now, when I turned it the screen has negative colors one knows what this could be? I restarted the update and finished it and still nothing.

  • BlackBerry Z10 Z10 screen oversized since the last update

    Since the last update, when I turn it on or open so I have to make a reduction of the screen to see all the functions available at the bottom of the screen. Change the font size does not correct the problem. What's new?