extraction of data each month and year wise in a table

Hello...

I have a table as raw material

indicator dateofmateria clinker OPC ppc
35 22 23/11/2 / 2012 CS
45 87 78 23/11/2012 D
55 90 100 11/23/2012 P
4 45 24/11/27/2012 CS
52 25 48 24/11/2012 D
58 50 103 24/11/2012 P
5 50 25/1 / 11 / 2012 CS
45 17 55 11/25/2012 D
45 77 55 25/11/2012 P...
Here P indicates that the production of material, D flag show send material and CS flags shows the closing stock respective dates.

I just want to calculate the difference in stock for the respective dates.
I want to calculate the difference in stock as below for example particular date 23/11/2012-

Difference in stock (OPC) = ((SUM * (OPC) where flag P = & month = 'nov')-(* SUM * (OPC) where flag = D & month = 'nov')-(* SUM * (OPC) where flag = CS & month = 'nov') *)

Similarly for the PPC and also clinker.

I want to calculate the difference in stock simultaneously for all the month of a given year that is seized by use

I m using the following question for this...
* Select to_char(a.dateofmtrl,'mon'), sum (a.rm1) - sum (b.rm1) - sum (c.rm1) OPC, sum (a.rm2) - sum (b.rm2) - sum (c.rm2) PPC, sum (a.rm3) - sum (b.rm3) - sum (c.rm3) CLINKER
rawmtrl_graph a.,
b rawmtrl_graph,
c rawmtrl_graph
where
TO_CHAR (a.dateofmtrl, 'yyyy') = '2012' and
TO_CHAR (b.dateofmtrl, 'yyyy') = '2012' and
TO_CHAR (c.dateofmtrl, 'yyyy') = '2012' and
a.mtrl_flag = 'P' and
b.mtrl_flag = has ' and
'c.mtrl_flag =' CS
To_char Group (a.dateofmtrl, 'my')
BUT IT IS DOES NOT CALCULATE THE STOCK OF MUTUAL FUNDS, PPC, CLINKER WITH PRECISION (WHICH GIVES SOME FIGURE UNEXPECTEDLY FOR EACH MONTH OF THE YEAR).

PLEASE HELP ME IN THIS...
I WANT TO CALCULATE THE STOCK DIFFERENCE YEAR WISE ALSO...

THANKS AND GREETINGS

VISHAL AMINE

Well your three requests were not being met, then you would have generated a Cartesian product. Try the following:

SELECT TO_CHAR(a.dateofmtrl,'mon'),
       SUM(a.rm1) - SUM(b.rm1) - SUM(c.rm1) OPC,
       SUM(a.rm2) - SUM(b.rm2) - sum(c.rm2) PPC,
       SUM(a.rm3) - sum(b.rm3) - sum(c.rm3) CLINKER
FROM   rawmtrl_graph a
       INNER JOIN rawmtrl_graph b
       ON a.dateofmtrl = b.dateofmtrl
       INNER JOIN rawmtrl_graph c
       ON a.dateofmtrl = c.dateofmtrl
WHERE  to_char(a.dateofmtrl,'yyyy')='2012'
AND    to_char(b.dateofmtrl,'yyyy')='2012'
AND    to_char(c.dateofmtrl,'yyyy')='2012'
AND    a.mtrl_flag='P'
AND    b.mtrl_flag='D'
AND    c.mtrl_flag='CS'
GROUP BY TO_CHAR(a.dateofmtrl,'mon');

Tags: Database

Similar Questions

  • problem to insert only month and year instead of the full date

    select b.penjara_id, p.penj_lokasi, a.no_daftar, b.episod, b.nama1,to_char(a.trkh_mula_prl,'dd/mm/yyyy') as trkh_mula_prl, to_char(bulan_proses,'mm/yyyy') as bulan_proses,
            b.epd, b.lpd
    from prl_daftar_proses a, senarai_pesalah b, penjara p
    
    where a.no_daftar=b.no_daftar
    and a.episod=b.episod
    and b.penjara_id = p.penjara_id
    and a.setuju_jplp is null
    and a.bulan_proses between to_date(:FROM,'dd/mm/yyyy') and to_date(:TO,'dd/mm/yyyy')
    
    
    order by b.penjara_id, a.bulan_proses,a.no_daftar
    Hi, can someone help me how I can register only the month and year of the value which have full day in the database?

    for example, the date is 18/09/2012, but I want to just insert 09/2012 as a parameter. If I want to insert only one setting, I can do... But I have problem when I want to insert two parameters...

    Lina saleh wrote:
    I already try before that and he invites me error like this...
    "name of the invalid host/identification variable.

    Change the name of the connection variable to: from_date and: to_date

    Is a reserved keyword.

  • get the month and year of date type

    Hi all
    I need to get the month and year of type date.

    For example
    select to_date('2011-01-17', 'yyyy-mm-dd') from dual;
    Required result:
    01-2011
    Any ideas?

    Thanks in advance,
    Bahchevanov.
    select to_char(to_date('2011-01-17', 'yyyy-mm-dd'),'mm-yyyy') from dual;
    

    HTH

  • I want to collect rain for the day, month and year; Can what formula I use?

    I want to collect rain for the day, month and year; What formula or expression that I can use.

    I use a Rain Wise product that converts impulses to an analog value.  The rain wise device can be

    "the value measure up to 1", 5", or 10".  I will be setting the unit at 10 inches in increments of 0.01 inch.

    What I would do is at each time increments of signal I would consider it as 0.01 then after reaching

    a period of time a day or a month, back to zero.

    Need some advice on this problem.

    How about you, using a counter to count the number of times where the signal is less than 0.01?

    For example,.

    Counter.Count = signal<=>

    The total number of rain is

    Counter * 10 + signal

    Use TimeOfDay or TimeOfWeek to reset the counter.

  • Get the number of days, months and year

    Hi all

    I'm using OBIEE 11 g. I have a line of dash for year (2010, 2011, etc.) and months (Jan, Feb,..., Dec). How can I get the number of days in a given month and year in my report?

    For example, if I choose to Jan & 2011, I'd get 31 and 356. And if I choose Feb & 2011, I would get 28 and 356.

    Thank you!

    I have something more good option here... Try to use this

    DAYOFMONTH (TIMESTAMPADD (SQL_TSI_DAY, DAYOFMONTH (CURRENT_DATE) *-1, TIMESTAMPADD (SQL_TSI_MONTH, 1, CURRENT_DATE)))

    This will give you the days for the month in progress (Oct 2011) after calculating the last day of each month... Similary dynamically pass the value Date or month... You will need to modify this function but shud be simple. Hope this helps :)

  • spend months and year in a query

    I created_date in my table... I want to only get the records of a month or a year of records

    How we can write a query to spend months and year to a query

    example is my name of the x table

    Select * from x where trunc (created_date) =?

    Hello

    Rather than convert all DATES in your array to a string and then compare these values to a parameter of sting, it would be more efficient to convert your DATE string parameter and then compare all your DATEs unchanged to her.
    For example, if: year_month is the string "201108', you might say:

    SELECT  *
    FROM    x
    WHERE   created_date >=             TO_DATE (:year_month || '01', 'YYYYMMDD')
    AND     created_date < ADD_MONTHS ( TO_DATE (:year_month || '01', 'YYYYMMDD')
                          , 1
                          )
    ;
    

    I hope that answers your question.
    If not, post a small example of data (CREATE TABLE and INSERT statements) for table x, some values for: year_month, and the desired results for each value of: year_month from these data.
    Always tell what version of Oracle you are using.

  • Set the calendar to display day, month and year

    In addition to the time of day, my computer began giving the day of the week (Monday) only instead of day, month and year as it did before. Tried to go back to 29/12/2014 or something similar without success.  Any suggestions?

    Hello

    Sorry for the late reply and I appreciate your patience.

    User profile corruption might have caused the problem. As a solution, I suggest to create a new user profile and check if the date format displays the same thing.

    To do this, see the link below.

    http://Windows.Microsoft.com/en-us/Windows/fix-corrupted-user-profile#1TC=Windows-7.

    It will be useful. Just answer us with the State, and we will be happy to help you.

  • Get the number of days in a month based on the month and year of fields

    I have a column in my form which lists the days in a month. I want to configure a hidden field that calculates the total number of days in a month, based on the month and year of the field inputs. The number of days will determine what appears on the column. For example, if I put 4 months, and 2016 in the field of the year, I get 30 in the hidden field. Thus, on the column 'Day', I'll have numbers 1-30. Or if I put 2 months and 2016 in the field of the year, I get the 29 in the hidden field. If the numbers 1-29 appears in the column 'day '.

    Found this on some forum javascript code:

    //Month is 1 based
    function daysInMonth(month,year) {
      
    return new Date(year, month, 0).getDate();
    }

    //July
    daysInMonth
    (7,2009); //31
    //February
    daysInMonth
    (2,2009); //28
    daysInMonth
    (2,2008); //29

    I do not know how to convert this code in JavaScript to adobe and don't really know how to use it. All I know how to do is to configure the field values for the field month and year as variables. I am a novice programmer and would appreciate it really all the help I can get. Thank you in advance!

    The code seems to be JavaScript and runs as needed by using the JavaScript console.

    I would like to consider making more general code, so if you have a date string that includes at least the month and year we could just call the function and get the number of days for that month.

    The following script will calculate the number of days in a month, by using at least the month and year values can display the result on the JavaScript console and all of the value field for the field that has this code as the custom calculation Script.

    function daysInMonth (oDate) {}
    return new Date (oDate.getFullYear (), oDate.getMonth () + 1, 0) .getDate ();
    }

    nMonth var = this.getField("Month").valueAsString; get the value of month;
    nYear var = this.getField("Year").valueAsString; get the value of the year;

    Event.Value = "";

    If (nMonth! = "" & nYear!) = "") {}
    var MyDate = util.scand ("' / mm/yyyy ', nMonth +" / "+ nYear); convert to date object;
    var nDaysInMonth = daysInMonth (MyDate); get the number of days;

    Console.Open (); Open the JavaScript console;

    Console.clear(); clear the console;

    Console.println ("Days in" + nMonth + ":" + nDaysInMonth); show days in month;

    Event.Value = nDaysInMonth; Set the value of the field;

    }

  • to get the month and year separated

    Hello

    I have the entry_date_fin of column (type of data-varchar2 (8))

    with values like Apr.-2008
    Feb-2009 etc.

    can I get the distinct month and year separated
    i tried select to_date(entry_date_fin,'MM') FROM  xyz  doesnt wrk
    kindly guide me

    Although you are (wrongly, IMO) storage of dates as strings, just use string manipulation...

    SQL> with t as (select 'FEB-2008' as txt from dual)
      2  --
      3  select substr(txt,1,3) as mnth
      4        ,substr(txt,5) as yr
      5  from t
      6  /
    
    MNT YR
    --- ----
    FEB 2008
    
    SQL>
    
  • split with day, month and year in a date

    Hi all

    I have this point of view

    with (id, dt) t (select 1, to_date('02/06/2010','MM/DD/YYYY') of all the double union)
    Select 2, to_date('11/29/2001','MM/DD/YYYY') of all the double union
    Select 3, to_date('02/06/2011','MM/DD/YYYY') of all the double union
    Select option 4, double to_date('10/10/2011','MM/DD/YYYY')
    )
    --
    -end of test data
    --
    SELECT id, dt
    floor (months_between(sysdate,dt)/12) years
    , floor (mod (months_between (sysdate, dt), 12)) months
    -The day is ambiguous because of the number of days in a different month
    -you could design your own algorithm to give the desired results, but it is a good approximation
    , floor (sysdate-(add_months (dt, floor (months_between (sysdate, dt))) as dys
    t
    /
    ID DT YEARS MONTHS DYS
    ---------- ----------- ---------- ---------- ----------
    1-6 FEBRUARY 2010 5 8 22
    2 29 NOVEMBER 2001 13 10 29
    3-6 FEBRUARY 2011 4 8 22
    4-10 OCTOBER 2011 4 0 18

    As a result, 26 years old, 26 months, 91 days.


    And subtract years, MONTHS and DYS as format

    erase years, from 1 to 12 months and the days of the 1 to 30 as

    91 days = 30 x 3 + 1 = > 1 day over 3 months

    26 months + 3 months = 29 months = > 24 months + 5 months = 2 years + 5 months

    and 26 years + 2 years = 28

    desire to result: 28 years, 5 months and 1 day.

    Is there a function that give me this result from the query above?

    Kind regards

    Gordan

    Hello Gordan,.

    I understand that you are the SUM of all the lines.

    Here are two ideas:

    -1 - using a date
    (a) SUM (TRUNC (sysdate) - dt)
    I would give you the total number of days.
    (b) adding the number of days to, for example, DATE ' 1900-01-01' would give another date...
    (c) simply subtract the years 1900 and it takes several years,
    subtract 1 from the month (1-12 from January to December) and you have the number of months
    subtract 1 from the day of the month (1-31) and you have the number of days.
    It is of course 'approximate' as the months do not have the same number of days...

    -2 - using only the number of days
    Maybe you want something else, for example: the total number of days divided by 365.25 for many years, the recall divided by 30 to get the number of months, the reminder being the number of days.

    (a) SUM (TRUNC (sysdate) - dt)

    I would give you the total number of days.

    (b) Division by 365.25 (le.25 is to take leap years into account, but you can choose for example "365")

    (c) number of reminder of days (total - years * 365.25): divided by 30 is the number of months

    (d) number reminder of days (total - years * 365.25 - months * 30): gives the number of days.

    The following two options with your test data (by chance, this gives the same result in this case)

    option 1:
    with (id, dt) t (select 1, to_date('02/06/2010','MM/DD/YYYY') of all the double union)
    Select 2, to_date('11/29/2001','MM/DD/YYYY') of all the double union
    Select 3, to_date('02/06/2011','MM/DD/YYYY') of all the double union
    Select option 4, double to_date('10/10/2011','MM/DD/YYYY')
    )
    target_date AS
    (SELECT DATE ' 1900-01-01' + SUM (TRUNC (sysdate) - t.dt) FROM t trgt)
    in_pieces AS
    (SELECT TO_NUMBER (TO_CHAR (td.trgt, 'YYYY')) - 1900 y
    , TO_NUMBER (TO_CHAR (td.trgt, 'MM')) - 1 m
    , TO_NUMBER (TO_CHAR (td.trgt, 'DD')) - 1 d
    Target_date TD
    )
    SELECT "result: ' |"
    TRIM (CASE WHEN ip.y = 0 THEN NULL
    WHEN ip.y = 1 THEN "1 year"
    Of OTHER TO_CHAR (ip.y) | "years".
    END |
    CASE WHEN ip.m = 0 THEN NULL
    WHEN ip.m = 1 THEN "1 month"
    Of OTHER TO_CHAR (ip.m) | 'months '.
    END |
    CASE WHEN ip.d = 0 THEN NULL
    WHEN ip.d = 1 THEN "1 day"
    Of OTHER TO_CHAR (ip.d) | 'days '.
    END
    )
    Of in_pieces ip
    ;
    result: 28 years, 4 months and 28 days

    option 2:

    with (id, dt) t (select 1, to_date('02/06/2010','MM/DD/YYYY') of all the double union)
    Select 2, to_date('11/29/2001','MM/DD/YYYY') of all the double union
    Select 3, to_date('02/06/2011','MM/DD/YYYY') of all the double union
    Select option 4, double to_date('10/10/2011','MM/DD/YYYY')
    )
    nb_days AS
    (SELECT SUM (TRUNC (sysdate) - t.dt) n t)
    , y AS
    (SELECT Nb.n, FLOOR (nb.n / 365.25) y nb_days n. b.)
    ym AS
    (SELECT y.n, y.y, FLOOR ((y.n-y.y * 365,25) / 30) FROM a)
    ymd AS
    (SELECT ym.y, ym.m, ym.n - ym.y * 365.25 - ym.m * ym FROM 30 d)
    SELECT "result: ' |"
    TRIM (CASE WHEN ymd.y = 0 THEN NULL
    WHEN ymd.y = 1 THEN "1 year"
    Of OTHER TO_CHAR (ymd.y) | "years".
    END |
    CASE WHEN ymd.m = 0 THEN NULL
    WHEN ymd.m = 1 THEN "1 month"
    Of OTHER TO_CHAR (ymd.m) | 'months '.
    END |
    CASE WHEN ymd.d = 0 THEN NULL
    WHEN ymd.d = 1 THEN "1 day"
    Of OTHER TO_CHAR (ymd.d) | 'days '.
    END
    )
    WAN
    ;
    result: 28 years, 4 months and 28 days

    Best regards

    Bruno Vroman.

  • Calculate the age (months and years) of two dates

    Trying to get the (almost exact) age in years and months to fill in 'Age at the time of retirement' (years1) since the date of birth (DOB1) and the date of their departure in retirement (retireDate1). The only examples that I could find are dates "today." If anyone can help with code? And I understand it works better with JavaScript but FormCalc would also work?

    Dates as DD/MM/YYYY

    Field is num {z9}

    Thank you in advance for your help!

    I could do this work with Age1 as a text field. Of course, you can do whatever you want with it, but this method makes the most sense for me because I can say 99 months "99 years". If you need to separate the year and month in different areas, you should be able to do it easily. Finally, it requires that the user does not manually enter dates. (Something on the raw values isn't quite right when they came from the selection.)

    Age1::calculate (or anywhere where you want this event)

    if (!DOB1.isNull && !retireDate1.isNull){
      var d1 = DOB1.rawValue.split('-');
      var d2 = retireDate1.rawValue.split('-');
      var years = parseInt(d2[0]) - parseInt(d1[0]);
      var months = (parseInt(d2[1]) - parseInt(d1[1]));
      if (parseInt(months) < 0){
        months = 12 + months;
        years--;
      }
      Age1.rawValue = years + " years " + months + " months.";
    }
    
  • ATTN: Staff [added kglad] double load for each month and one subscription

    Hello

    Each month I reveived TWO bills of adobe, but I only have ONE subscription in my account. I contacted the customer servive twice, but they both finally asked me to communicate with the Bank. However, the Bank asked me to contact adobe.

    I joined the subscription from August 12, 2016. When I finished first payment online, I have not received any confirmed e-mail. I tried to use photoshop, but it showed that I have a subscription. I thought I was suffering from network problem that the payment is not completed. Then I presented again. I received a confirmation by e-mail immediately. A month later, I found two charges of Adobe on the same date. I tried to do everything that I could to solve the problem, but the problem is still there... Can someone help me? And I hope that I can be reimbursed in double.

    Hello

    Please contact support by calling/chat for billing queries:

    Contact the customer service

    * Be sure to stay connected with your Adobe ID before accessing the link above *.

    You can also check the help below document:

    https://helpx.Adobe.com/x-productkb/policy-pricing/cancel-membership-subscription.html

    Please go through the Adobe - General conditions of subscription as well.

    Kind regards

    Sheena

  • Manage the values of the actual day, month and year

    Hello

    I am trying to enter digital variables the same day (format: 1 / 10), month (format: 1 / 10) and year (format: 1900). I tried to use this sample:

    "< mx:DateFormatter id ="DDformatter"formatString ="DD"/ > "

    "< mx:DateFormatter id ="MMformatter"formatString ="MM"/ >"

    "< mx:DateFormatter id ="YYYYformatter"formatString ="YYYY"/ >"

    In the Script:

    private var actualDate: Date = new Date();

    [Bindable] private var actualDay:String = DDformatter(actualDate) .format.

    [Bindable] private var actualMonth:String = MMformatter(actualDate) .format.

    [Bindable] private var actualYear:String = YYYYformatter(actualDate) .format.

    Part of getting an error when I run my application (am I missing some import?) I would like to have these data in numerical variables:

    #1009 error - cannot access a property or method of a null object reference.

    Pls find the solution of your problem... Let me know if you have any problem.

    MainApplication.mxml

    http://www.Adobe.com/2006/mxml '.

    layout = "absolute" creationComplete = "onCreationComplete ()" > "

    private var actualDate:Date = new Date();

    [Bindable]

    private var actualDay:String;

    [Bindable]

    private var actualMonth:String;

    [Bindable]

    private var actualYear:String;

    private function onCreationComplete():void

    {

    actualDay = DDformatter.format (actualDate);

    actualMonth = MMformatter.format (actualDate);

    actualYear = YYYYformatter.format (actualDate);

    }

    ]]>

    with respect,

    Mayeul Singh Bartwal

  • Month and year Validation

    Hi all!

    I want to check if a given date in my form is lower or higher than sysdate...

    I used the coding
    if trim(:empaply.fromdate)<trim(sysdate) then
         message('Check the from date you have given !');
    This condition verifies that the date and not the month and the year...

    So, how can we check the month and the year is less than the current sysdate in sql?

    pls help me with a solution...

    Thanks and greetings
    user 10685325

    "Assuming that" fromdate "is the date data type, then it will simply be.

    if :empaply.fromdate < sysdate then
        message('Check the from date you have given !');
    ....
    
  • How to get the previous month and year accordingly

    Hi friends,
    I wanted to select the month as a number like 4 and the new year 2011
    but I want to choose the previous month from sysdate
    as if the sysdate is June 10, 2011
    It should give me 5 months and
    in the year, it should give as 2011
    If the sysdate is January 1, 2012
    the month should be like 12 and year should be in 2011

    Thank you

    Hello

    776317 wrote:
    Thank you very much I just the 0 being the prefix... can you pls how to avoid that too well pls

    TO_CHAR ( ADD_MONTHS (SYSDATE, -1)
            , 'FMmm yyyy'
           )
    

    For more information on the FM, wee manual SQL language modifier works:
    http://download.Oracle.com/docs/CD/B28359_01/server.111/b28286/sql_elements004.htm#sthref456

Maybe you are looking for