Sql to get monthwise data

Hi experts,
I have a query to get data monthwise for a particular column value from this table
SQL> desc doctor_patient_diagnosis_tab
Name Null? Type
DOCTOR_CODE VARCHAR2(8)
VISIT_ID NUMBER(12)
DIAGNOSIS VARCHAR2(2000)
EMP_NO NUMBER(6)
TRANSACTION_DATE DATE
FINAL_TAG VARCHAR2(1)
DIAGNOSIS_CODE VARCHAR2(8)
in the following way to display......
Diagnosis Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Total
OTHER DISEASES 15 4 5 9 14 31 8 1 6 7 2 5 107
ROUTINE DEWORMING 14 4 7 7 9 3 9 9 2 4 9 14 91
my query is as follows.... but not giving me exact result
select substr(diagnosis,1,20) diag,
count(decode(TO_CHAR(transaction_date,'MON'),'JAN',VISIT_ID,0)) jan,
count(decode(TO_CHAR(transaction_date,'MON'),'FEB',VISIT_ID,0)) feb,
count(decode(TO_CHAR(transaction_date,'MON'),'MAR',VISIT_ID,0)) mar,
count(decode(TO_CHAR(transaction_date,'MON'),'APR',VISIT_ID,0)) apr,
count(decode(TO_CHAR(transaction_date,'MON'),'MAY',VISIT_ID,0)) may,
count(decode(TO_CHAR(transaction_date,'MON'),'JUN',VISIT_ID,0)) jun,
count(decode(TO_CHAR(transaction_date,'MON'),'JUL',VISIT_ID,0)) jul,
count(decode(TO_CHAR(transaction_date,'MON'),'AUG',VISIT_ID,0)) aug,
count(decode(TO_CHAR(transaction_date,'MON'),'SEP',VISIT_ID,0)) sep,
count(decode(TO_CHAR(transaction_date,'MON'),'OCT',VISIT_ID,0)) oct,
count(decode(TO_CHAR(transaction_date,'MON'),'NOV',VISIT_ID,0)) nov,
count(decode(TO_CHAR(transaction_date,'MON'),'DEC',VISIT_ID,0)) dec
from doctor_patient_diagnosis_tab
WHERE to_char(transaction_date,'DD-MON-YYYY') >='01-JAN-2011'
GROUP BY diagnosis
ORDER BY 1;
can someone assist me in this ...
Thank you

Hi kiran,
It is helpful for me but not yet achieved the result, when I run the inner query it gives as.....
SQL> select substr(diagnosis,1,20) diag,
2 decode(TO_CHAR(transaction_date,'MON'),'JAN',VISIT_ID,0) jan,
3 decode(TO_CHAR(transaction_date,'MON.'),'FEB',VISIT_ID,0) feb,
4 decode(TO_CHAR(transaction_date,'MON'),'MAR',VISIT_ID,0) mar,
5 decode(TO_CHAR(transaction_date,'MON'),'APR',VISIT_ID,0) apr,
6 decode(TO_CHAR(transaction_date,'MON'),'MAY',VISIT_ID,0) may,
7 decode(TO_CHAR(transaction_date,'MON'),'JUN',VISIT_ID,0) jun,
8 decode(TO_CHAR(transaction_date,'MON'),'JUL',VISIT_ID,0) jul,
9 decode(TO_CHAR(transaction_date,'MON'),'AUG',VISIT_ID,0) aug,
10 decode(TO_CHAR(transaction_date,'MON'),'SEP',VISIT_ID,0) sep,
11 decode(TO_CHAR(transaction_date,'MON'),'OCT',VISIT_ID,0) oct,
12 decode(TO_CHAR(transaction_date,'MON'),'NOV',VISIT_ID,0) nov,
13 decode(TO_CHAR(transaction_date,'MON'),'DEC',VISIT_ID,0)dec
14 from doctor_patient_diagnosis_tab
15 WHERE transaction_date >=to_date('01-JAN-2011','dd-mon-yyyy');
DIAG JAN FEB MAR APR MAY
JUN JUL AUG SEP OCT NOV DEC
AMOEBIASIS 0 0 0 0 0
3247 0 0 0 0 0 0
test 200 0 0 0 0
0 0 0 0 0 0 0
AMOEBIASIS 0 0 0 0 0
0 3414 0 0 0 0 0
DIAG JAN FEB MAR APR MAY
JUN JUL AUG SEP OCT NOV DEC
AMOEBIASIS 0 0 0 0 0
3359 0 0 0 0 0 0
so one diag comes three times instead of in a single record.
thanks

Similar Messages

  • SQL Help getting Max() date....

    Hi gurus, Here is my situation:
    Here is the sample data:
    Policy_Id Policy-Exp_Dt COl_1
    123_____10/30/2008 __ 333
    123_____ 09/25/2008___445
    123_____ 08/30/2008___443
    Here i have to get the Policy-Exp_Dt from the second row; In other words for all rows which have a similar Policy_Id i should first find out the max(Policy-Exp_Dt) and get the next smallest available date to that.
    I have tried using
    select Policy_Id, COl_1, Policy_Exp_Dt from
    table_1
    where Policy-Exp_Dt = (select max(Policy-Exp_Dt)-1 from
    table_1 a
    where a.policy_id = table_1.policy_id)
    but here i am getting the value = 10/30/2008 - 1 which is 10/29/2008 but i need the value 9/25/2008 which is the next available date less than the max() date.
    Please Advise.
    Edited by: user521009 on Jan 9, 2009 1:56 PM

    I thought to use lag - maybe not as appropriate a ranking functions.
    Also we have a case where there is only One record for a policy - exclude this I guess!
    drop table Max_but_One;
    create table Max_but_One
      Policy_Id      integer      not null,
      Policy_Expires date         not null,
      Policy_Note    varchar2(20) not null
    -- Standard data
    insert into Max_but_One values (123, to_date('30-08-2008','dd-mm-yyyy'), 'First note');
    insert into Max_but_One values (123, to_date('25-09-2008','dd-mm-yyyy'), 'Second note');
    insert into Max_but_One values (123, to_date('30-10-2008','dd-mm-yyyy'), 'Third note');
    -- Standard data again for double check
    insert into Max_but_One values (223, to_date('01-11-2008','dd-mm-yyyy'), 'First note');
    insert into Max_but_One values (223, to_date('02-11-2008','dd-mm-yyyy'), 'Second note');
    -- Only one record for a policy!
    insert into Max_but_One values (323, to_date('01-12-2008','dd-mm-yyyy'), 'First note');
    -- Two or more records for a policy both having the same date which is prior to the max
    insert into Max_but_One values (423, to_date('10-12-2008','dd-mm-yyyy'), 'First note');
    insert into Max_but_One values (423, to_date('10-12-2008','dd-mm-yyyy'), 'Second note');
    insert into Max_but_One values (423, to_date('11-12-2008','dd-mm-yyyy'), 'Third note');
    break on Policy_ID
    select Policy_Id, Policy_Expires, Policy_Note
      from Max_but_One
    order by Policy_Id, Policy_Expires
    POLICY_ID POLICY_EX POLICY_NOTE
           123 30-AUG-08 First note
               25-SEP-08 Second note
               30-OCT-08 Third note
           223 01-NOV-08 First note
               02-NOV-08 Second note
           323 01-DEC-08 First note
           423 10-DEC-08 First note
               10-DEC-08 Second note
               11-DEC-08 Third note
    -- Max Policy_Expires
    select t.*
      from (select Policy_Id, Policy_Expires, Policy_Note
                  ,max(Policy_Expires) over (partition by Policy_Id) as Max_Policy_Expires
              from Max_but_One
           ) t
    where t.Policy_Expires = t.Max_Policy_Expires
    POLICY_ID POLICY_EX POLICY_NOTE          MAX_POLIC
           123 30-OCT-08 Third note           30-OCT-08
           223 02-NOV-08 Second note          02-NOV-08
           323 01-DEC-08 First note           01-DEC-08
           423 11-DEC-08 Third note           11-DEC-08
    -- Using LAG
    select t.Policy_Id
          ,t.Prior_Policy_Expires as Policy_Expires
          ,t.Prior_Policy_Note    as Policy_Note
      from (select Policy_Id, Policy_Expires, Policy_Note
                  ,max(Policy_Expires) over (partition by Policy_Id) as Max_Policy_Expires
                ,lag(Policy_Expires) over (partition by Policy_Id order by Policy_Expires) as Prior_Policy_Expires
                  ,lag(Policy_Note)    over (partition by Policy_Id order by Policy_Expires) as Prior_Policy_Note
              from Max_but_One
           ) t
    where t.Policy_Expires = t.Max_Policy_Expires
    POLICY_ID POLICY_EX POLICY_NOTE
           123 25-SEP-08 Second note
           223 01-NOV-08 First note
           323
           423 10-DEC-08 Second note
    -- To exclude the single record policy then add and t.Prior_Policy_Expires is not null
    select t.Policy_Id
          ,t.Prior_Policy_Expires as Policy_Expires
          ,t.Prior_Policy_Note    as Policy_Note
      from (select Policy_Id, Policy_Expires, Policy_Note
                  ,max(Policy_Expires) over (partition by Policy_Id) as Max_Policy_Expires
                ,lag(Policy_Expires) over (partition by Policy_Id order by Policy_Expires) as Prior_Policy_Expires
                  ,lag(Policy_Note)    over (partition by Policy_Id order by Policy_Expires) as Prior_Policy_Note
              from Max_but_One
           ) t
    where t.Policy_Expires = t.Max_Policy_Expires
       and t.Prior_Policy_Expires is not null
    POLICY_ID POLICY_EX POLICY_NOTE
           123 25-SEP-08 Second note
           223 01-NOV-08 First note
           423 10-DEC-08 Second note
    -- 423 is randomly picked here - could equally have got {423, 10-DEC-08, First note}

  • Oracle Designer pre 6i to 6i igration sql to get tablespace data

    ok now I want sql to find the tables space definitions in use for the latest version of the tables? ?
    pre 6i version
    select lower(ti.GLOBAL_SYNONYM_NAME)||'*'||ts.name
    from
    ci_application_systems a, ci_table_implementations ti, ci_tablespaces ts, ci_storage_definitions sd
    where
    ts.ID = ti.TABLESPACE_REFERENCE and
    sd.ID = ti.STORAGE_DEFINITION_REFERENCE and
    a.APPLICATION_SYSTEM_OWNER = '&OWNER' and
    a.NAME = &APPand
    ti.GLOBAL_SYNONYM_NAME IS NOT NULL
    order by ti.GLOBAL_SYNONYM_NAME asc;
    any ideas on what the 6i version should be ?

    If you don't already know this, here's a tip:
    In the Design Editor (DE) go to the DB Admin tab then navigate to:
    Oracle Databases > Users > Schema Objects > Table Implementations
    Open the properties palette for a table definition
    In the Properties select 'Storage Definition' then press your keyboard 'F5' key.
    It displays various internal details about a selected property and the element to which it relates. That should help you work out what you need to query.
    You can also use F5 in other tools, e.g. the RON

  • How to get a date range in JDBC sql

    I am using the following in my sql to get a date range... but what if the field is a timestamp will that still work or not...
    AND a.date>=? AND a.date<=?

    Suzie,
    No offence, but is there something stopping you from testing it yourself?
    Good Luck,
    Avi.

  • How to get numeric data from a string using t-sql

    Hi All,
    I have a table with 2 columns ID as Int and Message as nvarchar(max)
    Create table Sample
    ID int not null,
    Message nvarchar(max) null,
    CONSTRAINT [PK_ID_Msg] PRIMARY KEY CLUSTERED
    ID asc
    Insert statement:
    INSERT INTO
    Sample (ID, Message)
    VALUES (1, 'X_YRS: 00 ; X_MONS: 18 ; X_DAYS: 000 ; Y_YRS: 00 ; Y_MONS: 16 ; Y_DAYS: 011 ; Z: 1 ; Z_DATE: 09/04/2014
    INSERT INTO Sample (ID, Message) VALUES (2, 'X_YRS: 01 ; X_MONS: 15 ; X_DAYS: 010 ; Y_YRS: 00 ; Y_MONS: 18 ; Y_DAYS: 017
     ; Z: 1
     ; Z_DATE: 06/02/2012')
    Data in the table looks like:
    ID             Message
    1       X_YRS: 00 ; X_MONS: 18 ; X_DAYS: 000 ; Y_YRS: 00 ; Y_MONS: 16 ; Y_DAYS: 011 ; Z: 1 ; Z_DATE: 09/04/2014
    2       X_YRS: 01 ; X_MONS: 15 ; X_DAYS: 010 ; Y_YRS: 00 ; Y_MONS: 18 ; Y_DAYS: 017 ; Z: 1 ; Z_DATE: 06/02/2012
    Need out put as below, just with numeric data:
    ID      X-Column         Y-Column         
    1       00 18 000        00 16 011
    2       01 15 010        00 18 017
    So, please I need t-SQL to get above output.
    Thanks in advance.
    RH
    sql

    ;With CTE
    AS
    SELECT s.ID,RTRIM(LTRIM(STUFF(Val,1,CHARINDEX(':',Val),''))) AS Val,RTRIM(LTRIM(LEFT(Val,CHARINDEX('_',Val+'_')-1))) AS Pattern,
    --ROW_NUMBER() OVER (PARTITION BY LEFT(Val,CHARINDEX('_',Val+'_')-1) ORDER BY RTRIM(LTRIM(STUFF(Val,1,CHARINDEX(':',Val),'')))*1)
    f.ID AS Seq
    FROM Sample s
    CROSS APPLY dbo.ParseValues(s.[Message],';')f
    WHERE ISNUMERIC(RTRIM(LTRIM(STUFF(Val,1,CHARINDEX(':',Val),'')))+'0.0E0')=1
    SELECT ID,
    STUFF((SELECT ' ' + Val FROM CTE WHERE ID = c.ID AND Pattern = 'X' ORDER BY Seq FOR XML PATH('')),1,1,'') AS XCol,
    STUFF((SELECT ' ' + Val FROM CTE WHERE ID = c.ID AND Pattern = 'Y' ORDER BY Seq FOR XML PATH('')),1,1,'') AS YCol,
    STUFF((SELECT ' ' + Val FROM CTE WHERE ID = c.ID AND Pattern = 'Z' ORDER BY Seq FOR XML PATH('')),1,1,'') AS ZCol
    FROM (SELECT DISTINCT ID FROM CTE)c
    ParseValues can be found here
    http://visakhm.blogspot.in/2010/02/parsing-delimited-string.html
    Numeric check logic is as per below
    http://visakhm.blogspot.in/2014/03/checking-for-integer-or-decimal-values.html
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How can I get the data array from SQL Server Database?

    Hi,
    I can write a data array(2D)into a table of my SQL Server Database. The data array was writen to a column with image type. I know a data array is transformed a binary string when writing into database, but I dont know how to get the data array when I fetch the binary string from database.
    My question is:
    How to transform the binary string into data array? which vi's should I use? I have tried unflatten from string but failed.
    Any response is appriciated.
    Red

    happyxh0518 wrote:
    > I can write a data array(2D)into a table of my SQL Server Database.
    > The data array was writen to a column with image type. I know a data
    > array is transformed a binary string when writing into database, but I
    > dont know how to get the data array when I fetch the binary string
    > from database.
    >
    > My question is:
    > How to transform the binary string into data array? which vi's should
    > I use? I have tried unflatten from string but failed.
    In order to use Unflatten from string you first need to Flatten it
    before writing it. Also depending on the database driver, the returned
    data may actually not be binary but Hexadecimal encoded ASCII which you
    would first have to decode to binray.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How can i get the date of the last update of one PL/SQL package ?

    Hello,
    How can i get the date of the last update of a PL/SQL package
    named MYPACKAGE ?
    Thanks in advance ! ;-)

    to get the timestamp,last ddl time of object
    select timestamp,last_ddl_time from user_objects
    where object_name='<package name>';
    this will give you last transaction time ,date of object

  • Sql query to get Thursday (Date) for the year 2014

    Hello All,
    I want to get the date for all the Thursdays in the year 2014. How can I achieve this using SQL query? Can anybody give me a hand with this? Thanks.
    Amol

    Hi,
    Check if this can help you
    DECLARE @counter INT
    DECLARE @Date Date
    SELECT @counter = 0
    Select @Date = '20131226'
    WHILE @counter <= 52
    BEGIN
    select Thursday = convert(varchar(10),DATEADD(WEEK,1, @Date),120)
    SELECT @counter = @counter + 1
    Select @Date = DATEADD(WEEK,1, @Date)
    END
    Regards
    Prasad Tandel
    Please dont forget to mark as answer if this helps you :)

  • SQL Statement taking too long to get the data

    Hi,
    There are over 2500 records in a table and when retrieve all using ' SELECT * From Table' it is taking too long to get the data. ie .. 4.3 secs.
    Is there any possible way to shorten the process time.
    Thanks

    Hi Patrick,
    Here is the sql statement and table desc.
    ID     Number
    SN     Varchar2(12)
    FN     Varchar2(30)
    LN     Varchar2(30)
    By     Varchar(255)
    Dt     Date(7)
    Add     Varchar2(50)
    Add1     Varchar2(30)
    Cty     Varchar2(30)
    Stt     Varchar2(2)
    Zip     Varchar2(12)
    Ph     Varchar2(15)
    Email     Varchar2(30)
    ORgId     Number
    Act     Varchar2(3)     
    select A."FN" || '' '' || A."LN" || '' ('' || A."SN" || '')'' "Name",
    A."By", A."Dt",
    A."Add" || ''
    '' || A."Cty" || '', '' || A."Stt" || '' '' || A."Zip" "Location",
    A."Ph", A."Email", A."ORgId", A."ID",
    A."SN" "OSN", A."Act"
    from "TBL_OPTRS" A where A."ID" <> 0 ';
    I'm displaying all rows in a report.
    if I use 'select * from TBL_OPTRS' , this also takes 4.3 to 4.6 secs.
    Thanks.

  • How to get Dynamic data file in SQL*Loader?

    Hi all,
    I have a requirement that needs to import data everyday using background process. I have created a control file with the fixed datafile name and calling it through java. It is working fine.
    The thing is data file name is not constant, it changes everyday (I mean the file name format is YearMonthDate_Clients.cvs). But the the data file location is fixed location.
    How can I get the data file name dynamically?
    Can someone has the answer?
    Thanks in advance,
    Kalyogi

    I'm not a JAVA developer, but I've used this before
    File folder = new File("c:/");
        File[] listOfFiles = folder.listFiles();
        for (int i = 0; i < listOfFiles.length; i++) {
          if (listOfFiles.isFile()) {
    --Here the filename is printed, but I'm sure you can pass this to whatever/however you are invoking SqlLdr
    System.out.println("File " + listOfFiles[i].getName());

  • Apex 4.0 - Can see view data in SQL*Plus but no data in Object Browser

    Hi There,
    I have just started using Apex 4.o and migrated some apps. I have an issue with a report, but see the same issue with Object browser, which is easier to describe.
    I have a view:
    create or replace view V_PLJ_USERDEF_CODES (
             CODE_SET_ID,
             CODE_SET_CODE,
             CODE_SET_DESC,
             CODE_ID,
             CODE_SYS_CODE,
             CODE_VALUE,
             CODE_DESC,
             DISPLAY_SEQ,
             DISPLAY_FLAG,
             LANGUAGE_CODE) as
      select CS.CODE_SET_ID,
             CS.CODE_SET_CODE,
             CS.CODE_SET_DESC,
             C.CODE_ID,
             C.CODE_SYS_CODE,
             C.CODE_VALUE,
             C.CODE_DESC,
             C.DISPLAY_SEQ,
             C.DISPLAY_FLAG,
             C.LANGUAGE_CODE
        from PLJ_CODES C,
             PLJ_CODE_SETS CS
       where C.CODE_SET_ID         = CS.CODE_SET_ID
         and CS.CODE_SET_TYPE_CODE = SYS_CONTEXT('PLJUMPSTART','C_USERDEF_CODE_SET');This returns data in SQL*Plus, but no data in Object Browser OR report region based on this view.
    Workspace parses in the same schema as tested in SQL*Plus.
    If, in report, I swap out view, and use underlying table - no problem.
    Any ideas -
    thanks
    P

    Hi all,
    Thanks for getting back so promptly.
    It just seems weird to me, as tables are just fine, but not views.
    In the underlying schema:
    SQL> sho user
    USER is "ICSREPORTING"
    SQL> select count(*) from plj_codes;
      COUNT(*)
           107
    SQL> select count(*) from v_plj_userdef_codes;
      COUNT(*)
            29And in the APEX schema
    SQL> sho user
    USER is "APEX_040000"
    SQL> select count(*) from icsreporting.plj_codes;
    select count(*) from icsreporting.plj_codes
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> select count(*) from icsreporting.v_plj_userdef_codes;
    select count(*) from icsreporting.v_plj_userdef_codes
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL>However, in SQL browser, I can see the data in PLJ_CODES but in V_PLJ_USERDEF_CODES, just the message "This view has no data". Indeed, it is like this for all views.
    I even explicitly granted access to APEX_040000 but no good.
    In fact, I would like to know more about how Apex gets access to do DML against the underlying parsing schema(s).
    This is a little frustrating though. It worked just fine in lots of apps in version 2.1 to 3.2
    Am I missing something
    paul
    p.s I knew there would be a question about the context, but I had already checked that. :)
    Edited by: PJ on Nov 19, 2010 4:09 AM

  • Unable to get the data from the stored procedure

    Hello Folks,
    I have this stored procedure and am trying to get the data from the table stage_bill but for some reason i am not sure its not pulling the data.Am a beginner in pl/sql Can any one please help to find out. I can give the code below.
    create or replace procedure Load_FADM_Staging_Area_TEST(p_data_load_date date) is
    -- local variables
    v_start_date                date;
    v_end_date                  date;
    -- cursor starting
      CURSOR c_get_data
      IS
      SELECT
       a.batch_id 
    ,a.beginning_service_date 
    ,a.bill_id 
    ,a.bill_method 
    ,a.bill_number 
    ,a.bill_received_date 
    ,a.bill_status 
    ,a.bill_type 
    ,a.change_oltp_by 
    ,a.change_oltp_date 
    ,a.client_datafeed_code 
    ,a.client_id 
    ,a.created_date 
    ,a.date_of_incident 
    ,a.date_paid 
    ,a.deleted_oltp_by 
    ,a.deleted_oltp_date 
    ,a.duplicate_bill 
    ,a.ending_service_date 
    ,a.event_case_id 
    ,a.event_id 
    ,a.from_oltp_by 
    ,a.oltp_bill_status 
    ,a.review_status 
    ,'HRI' schema_name
    , sysdate Load_date
    ,'ETLPROCESS001' Load_user
    ,v_start_date as Row_Effective_Date
    ,null Row_End_date
    from stage_bill a
    where
    --created_date >= to_date('20101031 235959', 'YYYYMMDD HH24MISS')
    created_date >= v_start_date
    and
    --created_date <= to_date('20101111 235959', 'YYYYMMDD HH24MISS')
      created_date <= v_end_date
    and not exists
    (select
    b.batch_id 
    ,b.beginning_service_date 
    ,b.bill_id 
    ,b.bill_method 
    ,b.bill_number 
    ,b.bill_received_date 
    ,b.bill_status 
    ,b.bill_type 
    ,b.change_oltp_by 
    ,b.change_oltp_date 
    ,b.client_datafeed_code 
    ,b.client_id 
    ,b.created_date 
    ,b.date_of_incident 
    ,b.date_paid 
    ,b.deleted_oltp_by 
    ,b.deleted_oltp_date 
    ,b.duplicate_bill 
    ,b.ending_service_date 
    ,b.event_case_id 
    ,b.event_id 
    ,b.from_oltp_by 
    ,b.oltp_bill_status 
    ,b.review_status,
    b.schema_name,
    b.Load_date,
    b.Load_user,
    b.Row_Effective_Date,
    b.Row_End_Date
    from STG_FADM_HRI_STAGE_BILL_TEST b)
      -- cursor o/p variables
    v_batch_id                  stage_bill.batch_id%TYPE;
    v_beginning_service_date    stage_bill.beginning_service_date%TYPE;
    v_bill_id                   stage_bill.bill_id%TYPE;
    v_bill_method               stage_bill.bill_method%TYPE;
    v_bill_number               stage_bill.bill_number%TYPE;
    v_bill_received_date        stage_bill.bill_received_date%TYPE;
    v_bill_status               stage_bill.bill_status%TYPE;
    v_bill_type                 stage_bill.bill_type%TYPE;
      v_change_oltp_by            stage_bill.change_oltp_by%TYPE;
      v_change_oltp_date          stage_bill.change_oltp_date%TYPE;
      v_client_datafeed_code      stage_bill.client_datafeed_code%TYPE;
      v_client_id               stage_bill.client_id%TYPE;
      v_created_date          stage_bill.created_date%TYPE;
      v_date_of_incident    stage_bill.date_of_incident%TYPE;
      v_date_paid         stage_bill.date_paid%TYPE;
      v_deleted_oltp_by     stage_bill.deleted_oltp_by%TYPE;
      v_deleted_oltp_date    stage_bill.deleted_oltp_date%TYPE;
      v_duplicate_bill     stage_bill.duplicate_bill%TYPE;
      v_ending_service_date   stage_bill.ending_service_date%TYPE;
      v_event_case_id        stage_bill.event_case_id%TYPE;
      v_event_id            stage_bill.event_id%TYPE;
      v_from_oltp_by         stage_bill.from_oltp_by%TYPE;
      v_oltp_bill_status   stage_bill.oltp_bill_status%TYPE;
      v_review_status     stage_bill.review_status%TYPE;   
      v_schema_name        varchar(50);
      v_Load_date          date;
      v_Load_user            varchar(50);
      v_Row_Effective_Date   date;
      v_Row_End_Date         date;     
    Begin
    if  p_data_load_date is null then
        select (sysdate - 7), (sysdate - 1) into v_start_date, v_end_date from dual;
      elsif p_data_load_date is not null then
       select (p_data_load_date - 7), (p_data_load_date - 1) into v_start_date, v_end_date from dual;
      else
        raise_application_error('-20042', 'Data control - GetDataControlAuditData : Date parameter must be a date of this or a previous week.');
      end if;
    -- cursor c_get_data loop begin
    OPEN c_get_data;
        LOOP                                                       -- cursor c_get_data loop begin
          FETCH c_get_data
           INTO
            v_batch_id,
      v_beginning_service_date,
      v_bill_id ,
      v_bill_method ,
      v_bill_number,
      v_bill_received_date,
      v_bill_status,
      v_bill_type,
      v_change_oltp_by,
      v_change_oltp_date,
      v_client_datafeed_code,
      v_client_id,
      v_created_date,
      v_date_of_incident,
      v_date_paid,
      v_deleted_oltp_by,
      v_deleted_oltp_date,
      v_duplicate_bill,
      v_ending_service_date ,
      v_event_case_id ,
      v_event_id,
      v_from_oltp_by,
      v_oltp_bill_status,
      v_review_status,   
      v_schema_name,
       v_Load_date,
       v_Load_user,
       V_Row_Effective_Date,   
       v_Row_End_Date;
        EXIT WHEN c_get_data%NOTFOUND;
    insert into STG_FADM_HRI_STAGE_BILL_TEST
    batch_id 
    ,beginning_service_date 
    ,bill_id 
    ,bill_method 
    ,bill_number 
    ,bill_received_date 
    ,bill_status 
    ,bill_type 
    ,change_oltp_by 
    ,change_oltp_date 
    ,client_datafeed_code 
    ,client_id 
    ,created_date 
    ,date_of_incident 
    ,date_paid 
    ,deleted_oltp_by 
    ,deleted_oltp_date 
    ,duplicate_bill 
    ,ending_service_date 
    ,event_case_id 
    ,event_id 
    ,from_oltp_by 
    ,oltp_bill_status 
    ,review_status 
    ,schema_name
    ,Load_date
    ,Load_user
    ,Row_Effective_Date
    ,Row_End_Date
    values(
           v_batch_id,
    v_beginning_service_date,
    v_bill_id ,
    v_bill_method ,
    v_bill_number,
    v_bill_received_date,
    v_bill_status,
    v_bill_type,
    v_change_oltp_by,
    v_change_oltp_date,
    v_client_datafeed_code,
    v_client_id,
    v_created_date,
    v_date_of_incident,
    v_date_paid,
    v_deleted_oltp_by,
    v_deleted_oltp_date,
    v_duplicate_bill,
    v_ending_service_date ,
    v_event_case_id ,
    v_event_id,
    v_from_oltp_by,
    v_oltp_bill_status,
    v_review_status,   
    v_schema_name,
    v_Load_date,
    v_Load_user,
    v_Row_Effective_Date,   
    v_Row_End_Date ) ;
      COMMIT;
        END LOOP;                                                 
        CLOSE c_get_data; 

    Maybe you need something else, like
    CREATE OR REPLACE PROCEDURE load_fadm_staging_area_test (
      p_data_load_date DATE
    ) IS
      v_start_date   DATE;
      v_end_date     DATE;
    BEGIN
      SELECT NVL (p_data_load_date, SYSDATE) - 7,
             NVL (p_data_load_date, SYSDATE) - 1
      INTO   v_start_date,
             v_end_date
      FROM   DUAL;
      MERGE INTO stg_fadm_hri_stage_bill_test b
      USING      (SELECT *
                  FROM   stage_bill
                  WHERE  created_date BETWEEN v_start_date AND v_end_date) a
      ON         (b.bill_id = a.billl_id)
      WHEN NOT MATCHED THEN
        INSERT     (batch_id,
                    beginning_service_date,
                    bill_id,
                    bill_method,
                    bill_number,
                    bill_received_date,
                    bill_status,
                    bill_type,
                    change_oltp_by,
                    change_oltp_date,
                    client_datafeed_code,
                    client_id,
                    created_date,
                    date_of_incident,
                    date_paid,
                    deleted_oltp_by,
                    deleted_oltp_date,
                    duplicate_bill,
                    ending_service_date,
                    event_case_id,
                    event_id,
                    from_oltp_by,
                    oltp_bill_status,
                    review_status,
                    schema_name,
                    load_date,
                    load_user,
                    row_effective_date,
                    row_end_date
        VALUES     (a.batch_id,
                    a.beginning_service_date,
                    a.bill_id,
                    a.bill_method,
                    a.bill_number,
                    a.bill_received_date,
                    a.bill_status,
                    a.bill_type,
                    a.change_oltp_by,
                    a.change_oltp_date,
                    a.client_datafeed_code,
                    a.client_id,
                    a.created_date,
                    a.date_of_incident,
                    a.date_paid,
                    a.deleted_oltp_by,
                    a.deleted_oltp_date,
                    a.duplicate_bill,
                    a.ending_service_date,
                    a.event_case_id,
                    a.event_id,
                    a.from_oltp_by,
                    a.oltp_bill_status,
                    a.review_status,
                    'HRI',
                    SYSDATE,
                    'ETLPROCESS001',
                    v_start_date,
                    NULL
    END load_fadm_staging_area_test;Whenever you code a cursor and a loop, ask yourself. Do I need that?
    Regards
    Peter

  • How get selected data from oracle data as per give input

    sir i use Sun Java Studio Creator with oracle 10g
    my direct want user give input through both listbox , textbox or string variable
    how i pass this input in sessionbeen query and page give data in table as per user need
    please give me step and code
    this is urgent
    thank's

    You would get hierarchical data from a functrion in the same way as you would any data.  Create a function returning a cursor and then use your SQL statement to open the cursor.  Very simplistically:
    Create Function My_Func Return Sys_Refcursor As
       l_cur Sys_Refcursos
    Begin
       Open l_cur For
          'select EMPNO,ENAME,SYS_CONNECT_BY_PATH(ename, '/') "Path"
           from EMP
           start with MGR is null
           connect by prior empno=mgr';
       Return l_cur;
    End;
    Then, whatever calls the function would walk through the cursor an do whatever.
    Jhn

  • Not able to get the data on the page

    hi,
    I tried brining the data on the JSP page. I am passing the parameters to a PL/SQL procedure. but I am not getting any data or error. can anyone helpme how to proceed further I am retreving the page parameters that are passed to the JSP page like this.
    <%
    PortletRenderRequest portletRequest = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
    RenderContext rc = portletRequest.getRenderContext();
    PortletDefinition pd = portletRequest.getPortletInstance().getPortletDefinition();
    %>
    I am getting the page parameters. but I am not able to get any result on the page.
    while I am using the same code to get the data on another JSP page I am getting the data except I am not retreving the page parameters.
    I am using the code like this to pass the parameters to the procedure.
    OracleConnection conn__OCI      = cpool.getProxyConnection(OracleOCIConnectionPool.PROXYTYPE_USER_NAME, proxUserProp);
                                  cstmt = conn__OCI.prepareCall ("begin test.test1( ?,?,?,?,? ); end;");
                                  cstmt.setString(2, cnumb);
                                  cstmt.setString(3, cperiod);
                                  cstmt.setInt(4, retStrC);
                                  cstmt.setString(5, retStr3);
                                  cstmt.registerOutParameter (4, Types.NUMERIC);
                                  cstmt.registerOutParameter (5, Types.VARCHAR);
                                  cstmt.registerOutParameter(1, OracleTypes.CURSOR);
                                  cstmt.execute();
                                  retStrC = cstmt.getInt (4);
                                  retStr3 = cstmt.getString (5);
                                  retStr = "<tr class=OraDataText><td>  " + retStrC + "</td></tr>";
                                  retStr = retStr + "<tr class=OraDataText><td>  " + retStr3 + "</td></tr>";
                                  if ( retStrC == -1 )                    { ALLretStr = ALLretStr + retStr; }
                                  else
                                       cursor = ((OracleCallableStatement)cstmt).getCursor(1);
                                       while (cursor.next ())
                                                 if (spacerLine >= 2)
                                                      ALLretStr = ALLretStr + "<tr><td colspan=5 height=1 <div id=ssubLine> <div id=ssubLinet></div> </div> </td></tr>";
                                                 ALLretStr = ALLretStr + "<tr class=smmjWipAltText><td ALIGN=LEFT>" + cursor.getString(1) + "</td><td ALIGN=CENTER>" + cursor.getInt(2) + "</td><td ALIGN=CENTER>" + cursor.getString(3) + "</td><td ALIGN=CENTER>" + cursor.getString(4) + "</td><td ALIGN=RIGHT>" + cursor.getString(5) + "</td></tr>";
                                                 spacerLine++;
                                  }

    Hi Frank,<br>
    <br>
    I am getting a blank page after hitting the submit button. can you help me finding a solution for this in the JSP page or tell me where the error is. <br>
    <br>
    <%@page contentType="text/html;charset=UTF-8" %><br>
    <%@page import="oracle.portal.provider.v2.render.*" %><br>
    <%@page import="oracle.portal.provider.v2.render.PortletRenderRequest" %><br>
    <%@page import="oracle.portal.provider.v2.PortletDefinition" %><br>
    <%@page import="oracle.portal.provider.v2.http.HttpCommonConstants" %><br>
    <%@page import="java.sql.*, javax.sql.*, java.util.*, oracle.jdbc.*, <br>
    oracle.jdbc.pool.*, oracle.jdbc.oci.*" %><br>
    <br>
    <%<br> PortletRenderRequest portletRequest = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);<br>
    RenderContext rc = portletRequest.getRenderContext();<br>
    PortletDefinition pd = portletRequest.getPortletInstance().getPortletDefinition();<br>
    %><br>
    <%! String tree_descrip;<br> String tree_descrip_long;<br>
    String curr_Scheme;<br>
    String overl_gif;<br>
    String curr_css_path;<br>
    // page param<br>
    String p_number_val= "1";<br>
    String p_period_val= "Day";<br>
    %><br>
    <%<br> String long_desc = "LONG";<br>
    String Descrip = "SHORT";<br>
    String treeDescrip= "%SUBMISS%OLDER%";<br>
    String curr_treeCateg = "SUB";<br>
    try<br>
    {<br>
    curr_Scheme = getInfo.getSchem.getSchem();<br>
    overl_gif = "/images/tested/"+curr_Scheme+ "images/prefreshdefault.gif";<br>
    curr_css_path = "/images/tested/" curr_Scheme "css/param_jsp.css";<br>
    tree_descrip = getInfo.getPortletTitle.getPortletTitle ( Descrip , treeDescrip , curr_treeCateg);<br>
    tree_descrip_long = getInfo.getPortletTitle.getPortletTitle ( long_desc , treeDescrip , curr_treeCateg);<br>
    }<br>
    catch(Exception e)<br>
    {<br>
    tree_descrip = "";<br>
    tree_descrip_long = "";<br>
    }<br>
    %> <br>
    <% // Get page param p_number_val try { p_number_val = request.getParameterValues("p_number")[0]; } catch(Exception e) { p_number_val = "1"; } <br>
    // Get page param p_period_val try { p_period_val = request.getParameterValues("p_period")[0]; } catch(Exception e) { p_period_val = "Day"; } %> <br>
    <HTML> <HEAD> <link href="<%= curr_css_path %>" rel="stylesheet" type="text/css" media='' screen=''/> <SCRIPT LANGUAGE="JavaScript1.1" SRC="/images/smmj_page_obj/Popup/overlib.js"></SCRIPT> </HEAD> <BODY>
    <TABLE WIDTH=100% summary="<%= tree_descrip %>" border="0" cellspacing="0" cellpadding="3" BGCOLOR="#FFFFFF" > <TR WIDTH="100%" height="6px"><td height="6px" COLSPAN="6" ></td></TR> <TR WIDTH="100%" > <td ALIGN="LEFT" nowrap ></td> <td ALIGN="LEFT" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS"> CYCLE NAME</td> <td ALIGN="CENTER" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS">ID</td> <td ALIGN="CENTER" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS">FIRM NAME</td> <td ALIGN="CENTER" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS">BILLING PERIOD</td> <td ALIGN="RIGHT" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS0">AGE</td> </TR> <%= getOlderSubs( p_number_val, p_period_val , "dev", portletRequest.getUser().getName(), "close_connect") %> </table> <TABLE><TR><TD> <%=p_number_val%>
    <%=p_period_val%> <br>
    <%=portletRequest.getUser().getName()%> </TD></TR> </TABLE> </BODY> </HTML> <br>
    <%!<br> private String getOlderSubs( String cnumb, String cperiod, String cstring, String userid, String cState) throws SQLException
    {<br>
    CallableStatement cstmt;<br>
    ResultSet cursor;<br>
    int spacerLine = 1;<br>
    int retStrC = 1;<br>
    String retStr = "f";<br>
    String retStr2 = "f";<br>
    String retStr3 = "f";<br>
    String retStr4 = "f";<br>
    String ALLretStr = " ";<br>
    String TempretStr = " ";<br>
    String userstring = getInfo.getPortlUser.getPortUsr("B", "1");<br>
    String pwstring = getInfo.getPortlUser.getPortUsr("B", "2");<br>
    String CNNstring = getInfo.getPortlUser.getPortUsr("B", "3");<br>
    String PROXY_user_name = "test$" + userid;<br>
    //String PROXY_user_name = "test1$roger" ;<br>
    String url= "jdbc:oracle:oci:@" + CNNstring;<br>
    Properties prop = new Properties();<br>
    try {<br>
    if ( userid.trim().toUpperCase().equals(getInfo.getCONN.chkPortal.trim().toUpperCase()) )<br>
    {<br>
    ALLretStr = "<tr><td>Default user: " + userid + "</td></tr>"; }<br>
    else<br>
    {<br>
    // Create an OracleOCIConnectionPool instance with default configuration
    OracleOCIConnectionPool cpool = new OracleOCIConnectionPool(userstring, pwstring , url, null);<br>
    Properties proxUserProp = new Properties();<br>
    proxUserProp.setProperty(OracleOCIConnectionPool.PROXY_USER_NAME, PROXY_user_name);<br>
    OracleConnection conn__OCI = cpool.getProxyConnection
    (OracleOCIConnectionPool.PROXYTYPE_USER_NAME, proxUserProp);<br>
    cstmt = conn__OCI.prepareCall ("begin PORT_CURSOR.s_submission_wip( ?,?,?,?,? ); end;");<br>
    cstmt.setString(2, cnumb);<br>
    cstmt.setString(3, cperiod);<br>
    cstmt.setInt(4, retStrC);<br>
    cstmt.setString(5, retStr3);<br>
    cstmt.registerOutParameter (4, Types.NUMERIC);<br>
    cstmt.registerOutParameter (5, Types.VARCHAR);<br>
    cstmt.registerOutParameter(1, OracleTypes.CURSOR);<br>
    cstmt.execute();<br>
    retStrC = cstmt.getInt (4);<br>
    retStr3 = cstmt.getString (5);<br>
    retStr = "<tr class=OraDataText><td> " + retStrC + "</td></tr>";<br>
    retStr = retStr + "<tr class=OraDataText><td> " + retStr3 + "</td></tr>";<br>
    if ( retStrC == -1 ) { ALLretStr = ALLretStr + retStr; }<br>
    else<br>
    {<br>
    cursor = ((OracleCallableStatement)cstmt).getCursor(1);<br>
    while (cursor.next ())<br>
    {<br>
    if (spacerLine >= 2)<br>
    {<br>
    ALLretStr = ALLretStr + "<tr><td ALIGN=LEFT nowrap ></td><td colspan=5 height=1 ></td></tr>";<br>
    }<br>
    ALLretStr = ALLretStr + "<tr WIDTH=100% class=smmjPort2Text >
    <td ALIGN=LEFT nowrap ></td><td ALIGN=LEFT> " + cursor.getString(1) + "</td><td ALIGN=CENTER>" + cursor.getInt(2) + "</td><td ALIGN=CENTER>" + cursor.getString(3) + "</td><td ALIGN=CENTER>" + cursor.getString(4) + "</td><td ALIGN=RIGHT>" + cursor.getString(5) + "</td></tr>";<br>spacerLine++;<br>
    }<br>
    }<br>
    if (cState != null )<br>
    { //return(retStr);<br>
    if (conn__OCI != null) conn__OCI.close();<br>
    if (cpool != null) cpool.close();<br>
    }}<br>
    return(TempretStr);<br>
    }<br>
    catch (SQLException e )<br>
    {<br>
    String retErrStr = retStr + " SQL Error: <PRE> " + e + " </PRE> \n";<br>
    return(retErrStr);<br>
    }<br>
    }<br>
    %><br>
    Regards,<br>
    Vijay.

  • Am unable to get the data from Sys.databases when i use where condition for column owner_sid

     
    Hi all,
    Help me here when i try am unable to get a data,Can some one help me with a query to get.
    If it cant be done can i know why..
     select * from Sys.databases
      where owner_sid='0x01'
    What am trying is to get a login
    names from syslogin
    table with respect to Sid.
    Select a.name,b.name,a.owner_sid from Sys.databases a
      Join Syslogins b
      on a.owner_sid = b.sid
      where owner_sid like '0x01'
    Thanks all in Advance.....

    Below are a couple of examples of how to accomplish the task.  Note that SID is varbinary so the literal should not be enclosed in quotes.
    SELECT
    a.name AS DatabaseName
    ,b.name AS OwnerName
    ,a.owner_sid AS OwnerSID
    FROM sys.databases a
    JOIN sys.server_principals b ON
    a.owner_sid = b.sid
    WHERE owner_sid = 0x01;
    SELECT
    a.name AS DatabaseName
    ,SUSER_SNAME(owner_sid) AS OwnerName
    ,a.owner_sid AS OwnerSID
    FROM sys.databases a
    WHERE a.owner_sid = 0x01;
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

Maybe you are looking for

  • How can I use multiple ipad's on one account without sharing individuals personal email accounts?

    Is it possible to have multiple ipads on one account and share info, but also allow the individual users to have personal email that is not seen on the other ipad's? We have all ipads on same icloud account because we all need to see the same ical. I

  • How to get Adobe Camera RAW loaded so I can open RAW files from a Panasonic LX7?

    I opened these images two days ago. Now I get a message that the CS6 Photoshop does not recognize this type of file. I went online and again(3rd time)downloaded Camera RAW 7.3 and tried installing and opening the images. Once again - same thing. Now

  • Editing design elements in acrobat without losing field demarcation

    I've created a form and as opposed to having acrobat pro 9.0 detect the fields, I've demarcated them myself using the "add text field" function. The form works great but when I open the file in indesign and resave as a pdf, I lose all the fields adde

  • Improving TV display

    This isn't really Front Row specific but I don't know where to post it and I assume that people here will have the best answers due to the intended uses of Front Row. I have an iMac hooked up to a 55" Sony HDTV. Front Row looks pretty good on it so t

  • Lots of code, Little problem....

    Does anyone have how to get this program to run this line when the close box is pressed: userClosed("Connection Closing.", isC); This line sends that message to the other client program connected to it. I can get this line to run when the menu exit s