Query --count of schemas

The way our system is each clients has their own schema. We don’t have centralized schema.
Tables: --- providers column ---id benefits_tracking
Tables ---Benefits, column---- Plans, End_Date
Requirements:
The query must yield the following results:
1.     Number of Benefits Tracking Clients – This is simply a count of the number of client (schemas) who have the BenefitsTracking value=1( benefits_tracking is a column in providers table
2.     Number of Benefits Tracking Clients Who Have Active Plans with Active Enrollments - This is a count of the number of clients(schemas) who have the Benefits Tracking =1 and who have at least 1 active Plan .Note that a Plan is considered “active” if the End Date is null.( Plans, End_Date is a column in Benefits table)
3.     Average Number of Active Plans For All Clients That Have Plans– For all clients that have at least one active Plan, total the Number of active Plans and divide that total by the Number of Benefits Tracking Clients (BenefitsTracking value=1) Who Have Active Plans (See item 2 above.).
How do I do this in a query (sql, pl/sql)

Did you try one of the solutions suggested in your other posting?
count of schema based on the value in a column

Similar Messages

  • Count of schema based on the value in a column

    I have to write a query to count the number of schema that have the value in a column as '1' in a table For ex
    I have a table called Vendor in all the schemas(schema1 through 50) I have to look for the value in a column(Benefits) if it 1 or 0 . I need to do the count of the number of schema who have the Benefits turned ON (value '1')
    suppose the value in benefits(col) in Vendor (tbl) for schema1 is 0 than donot count that schema
    and if the value in benefits(col) in Vendor (tbl) for schema2 is 1 than count
    do i connect as a system manager? Do I need a Pl/sql table to put the count in it
    anybody please help.
    TX
    KK

    As I understand from 325537 description, the table VENDOR contains only one row and column BENEFITS_TRACKING is either 0 or 1
    In this case the total can be calculated by simply summing the values of all BENEFITS_TRACKING
    In case VENDOR has more than one row you need some grouping function like SUM or COUNT
    I don't unterstand why you loop through dba_users.
    Im quite sure that you won't find a VENDORS table in the SYSTEM schema. The 'execute immediate' will fail with a table not found exception.
    Another problem in your code is, you will get no_data_found exception when benefits_tracking=0 because of your where condition
    (remove the where-condition or use a grouping function as explained above)
    declare
      v_count      pls_integer := 0;
      v_curr_count pls_integer := 0;
    begin
      for rec in (select owner from all_tables where owner like 'SCHEMA%' and table_name='VENDORS') loop
          execute immediate 'select SUM(BENEFITS_TRACKING) from '||rec.owner||'.VENDORS' into v_curr_count;
    --      execute immediate 'select COUNT(BENEFITS_TRACKING) from '||rec.owner||'.VENDORS where BENEFITS_TRACKING=1' into v_curr_count;
    --      execute immediate 'select BENEFITS_TRACKING from '||rec.owner||'.VENDORS' into v_curr_count;
          v_count := v_count + v_curr_count;
      end loop;
      dbms_output.put_line(v_count);
    end;

  • List of tables count and Views count in schema wise

    Hi All,
    I want to get all tables count and views count in Schema wise, What is the query for that?
    Thanks in Advance.

    SELECT COUNT(*) FROM sys.tables t join sys.schemas s
    on s.schema_id=t.schema_id
    SELECT COUNT(*) FROM sys.views t join sys.schemas s
    on s.schema_id=t.schema_id
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Query counter : event 3100 not logged in table RSDDSTAT_OLAP

    Hi experts,
    We have a customer scenario where in the table RSDDSTAT_OLAP table is not getting populated with the eventID '3100' when a query is executed. Due to this the query counter is not getting any value ( according to extractor logic RSTC_BIRS_OLAP_AGGREGATED_DATA)
    The changes of the notes : 1250182 ,1505325, 1093755 are already present in the cutomer system.
    Hence would like to know the cases in which OLAP read eventid 000003100 would not get recorded in the table RSDDSTAT_OLAP, on execution of the query .
    Thanks in Advance,
    Keerthi

    Hi,
    It's a good decision you made because you shouldn't create objects in the SYS schema. I see you're using the add_job_email_notification procedure, so I'm assuming you're on 11g onwards.
    This procedure is meant to make the job easy for you. That is, you don't need to worry about setting up AQ, the procedure does it all for you. All you need to do is setup the mail server if not already done, and call this procedure to add the mail notification. That's it.
    You can also specify a filter to the add_job_email_notification procedure, so maybe you could specify directly your CLIENT.LOAD_DATA job to this procedure.

  • Sinlge select query in different schemas for same table(Indentical Structu)

    Scenario :
    Table XYZ is created in Schema A
    After an year, the old data from the previous year would be moved to different schema. However in the other schema the same table name would be used.
    For eg
    Schema A contains table XYZ with data of 2012 yr
    Schema B contains table XYZ with data of 2011 yr
    Table XYZ in both the schemas have identical structure.
    So can we fire a single select query to read the data from both the tables in effective way.
    Eg select * from XYZ where date range between 15-Oct-2011 to 15-Mar-2012.
    However the data resides in 2 different schema altogether.

    Thanks for the reply
    Creating an view is an option.
    But my problem, there is ORM layer(either Hibernate or Eclipse Top Link) between the application and the database.
    So the queries would be formed by the ORM layer and are not hand generated.
    So i cannot use view.
    So is there any option that would allow me to use single query on different schema's ?

  • Sinlge select query in diff schemas for same table(Indentical Structure)

    Scenario :
    Table XYZ is created in Schema A
    After an year, the old data from the previous year would be moved to different schema. However in the other schema the same table name would be used.
    For eg
    Schema A contains table XYZ with data of 2012 yr
    Schema B contains table XYZ with data of 2011 yr
    Table XYZ in both the schemas have identical structure.
    So can we fire a single select query to read the data from both the tables in effective way.
    Eg select * from XYZ where date range between 15-Oct-2011 to 15-Mar-2012.
    However the data resides in 2 different schema altogether.
    Creating an view is an option.
    But my problem, there is ORM layer(either Hibernate or Eclipse Top Link) between the application and the database.
    So the queries would be formed by the ORM layer and are not hand generated.
    So i cannot use view.
    So is there any option that would allow me to use single query on different schema's ?

    Hi,
    970773 wrote:
    Scenario :
    Table XYZ is created in Schema A
    After an year, the old data from the previous year would be moved to different schema. However in the other schema the same table name would be used.
    For eg
    Schema A contains table XYZ with data of 2012 yr
    Schema B contains table XYZ with data of 2011 yr
    Table XYZ in both the schemas have identical structure.
    So can we fire a single select query to read the data from both the tables in effective way.That depends on what you mean by "effective".
    Eg select * from XYZ where date range between 15-Oct-2011 to 15-Mar-2012.
    However the data resides in 2 different schema altogether.You can do a UNION, so the data from the two years appears together. The number of actual tables may make the query slower, but it won;t change the results.
    Given that you have 2 tables, the fact that they are in different schemas doesn't matter. Just make sure the user running the query has SELECT privileges on both of them.
    Creating an view is an option.Is it? You seem to say it is not, below.
    But my problem, there is ORM layer(either Hibernate or Eclipse Top Link) between the application and the database.
    So the queries would be formed by the ORM layer and are not hand generated.
    So i cannot use view.So creating a view is not an option. Or is it?
    So is there any option that would allow me to use single query on different schema's ?Anything that you can do with a view, you can do with sub-queries. A view is merely a convenience; it just saves a sub-query, so you don't have to re-code it every time you use it. Assuming you have privilges to query the base tables, you can always avoid using a view by repeating the query that defines the view in your own query. It will not be any slower

  • Select query from 2 schema & database

    Hi,
    what privileges should i give to execute select query from 2 schema & database in oracle
    thanks

    Hi,
    not so clear, if you are looking for this
    -- for other schema access
    GRANT SELECT ON <scheman_name>.<table_name> TO <schema_name>;
    or create the synonym
    --for other database access you need to create db link                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Dynamic SQL Query count

    Hi,
    I need to retieve the number of records that will be retrieved by a query as follows.
    How can this be done?
    Is there a method to do it using native dynamic sql (open .. for .. using ) instead of DBMS_SQL (Because Native is faster than dbms_SQL )?
    The following block demostrates what I need to do where v_query will hold the query text.
    declare
    v_query varchar2(32000);
    v_count number;
    begin
    select query_text into v_query from groups_table where id =1;
    dbms_output.put_line('count = '||v_count);
    end;
    Thanks in Advance

    Is there a way to use sql%rowcount to do something similar?
    Afraid not
    I mean if there is a way to get better performance in case of very large query. Like for example in oracle forms, when using Query --> count records it retrieves the nubmer of records that will be fetched.
    I think you'll find forms simply does a select count(*) from the base table (adding and predicates where necessary).
    What are you going to use it for? Maybe there is an alternative route you can take...

  • Max Query Count setting

    Hello colleagues,
    Probably you many know there is Max Query Count setting in MII.
    Does any of you experience performance concerns by dealing with large number of query count?  or does any of you have a recommendation for how to set max query count, e.g. not exceeding memory size to avoid memory swapping? 
    my customer want to increase this max count due to fluctuating record count.  but they have concerns on such disadvantage in performance.
    any of your experiences are welcome.  Thank you,
    Shiroh Kinoshita, SAP Japan

    Shiroh,
    Good to hear from you.
    All queries have the RowCount setting, but we typically discourage people from just setting it to a high number.  In some cases the data servers will limit this number to a max (something like 250000) but that doesn't mean that from a memory standpoint, or a customer patience level (especially in the browser) would ever get to that number of records.
    Where is it that you are seeing the record count fluctuate, applets in the browser, query actions in a transaction?
    What is it that makes the customer want to increase this to a high number?
    Regards,
    Jeremy

  • 919: Column count replaces query count when opening table/view/etc tab

    I don't know whether this is intentional or not, but I have just noticed that opening a table or view tab from the connection pane replaces the existing query count message with the query count from the column query. For example, opening a table tab for a table with 14 columns sets the query count message to "All Rows Fetched: 14".
    This is not a big issue, but adds to the aggravation of only having the latest query count message, rather than one for each SQL Worksheet.
    Is it possible to find somewhere on the SQL Worksheet that we can put it's query count message (for example to the right of the execution time)?

    I am happy for querying the columns of a table/view/etc to display the fetch count of the columns, although I am rarely interested in how many columns there are in a table/view/etc.
    However, I already find it frustrating that the query count is only for the last fetch - it can be very useful having the query count for last fetch per SQL Worksheet. Having the last fetch overwritten by opening a table tab only makes it more frustrating.

  • Query of Query count(column) returns blank not zero

    This appears to be a bug in 7,0,1,116466 and 8,0,1,195765
    Query of Query count(column) or count(*) returns blank not
    zero when there are no matches. Properly returns a number when
    there are query matches.
    e.g. select count(i_id) from PersonnelQuery where i_id <
    100
    Where does one report these?

    scottcook,
    This was a known bug in ColdFusion 6.x which has apparently
    not been fixed.
    Bug in CF6 (See the Comments section of the page linked
    below)
    http://livedocs.adobe.com/coldfusion/6.1/htmldocs/using_29.htm
    Workaround
    http://www.bennadel.com/blog/244-ColdFusion-Query-Of-Queries-Odd-COUNT-Behavior.htm
    To report this as a bug
    http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

  • Select Into statement in db function - query from granted schema table

    problem with "select into" in db function in 10.2
    There are two schemas. 'mdbdev' is the master database and 'devusr' is granted SELECT table access to execute queries in mdbdev schema.
    with devusr, in SQL, I'm able to execute the following query
    select wm_concat(strConcatedCountryList)
    from (select country_name as strConcatedCountryList from mdbdev.country_master mdbcm
    where mdbcm.country_ship_status = <param?>
    order by country_name)
    but when I use the same query in function/procedure with "select into", the compilation failed with error *"table or view does not exist"*
    FUNCTION GETCOUNTRYLISTTOSHIP (SHIP_STATUS IN NUMBER)
    RETURN VARCHAR2
    IS
    var2CountryList VARCHAR2(1000);
    BEGIN
    select wm_concat(strConcatedCountryList) INTO var2CountryList
    from (select country_name as strConcatedCountryList from mdbdev.country_master mdbcm
    where mdbcm.country_ship_status = <value of SHIP_STATUS>
    order by country_name);
    return var2CountryList;
    END;
    Please advise/help/hint :)

    David, Justine, Thank you. The facts from this forum post helped a lot to get the solution.
    The query helped a lot (select * from all_tab_privs_recd where owner = 'MDBDEV' and table_name = 'COUNTRY_MASTER").
    there was a grant using ???(donno wht DBA said) and no direct SELECT grant on that country_master to "devusr". grant command executed. Now, it works :)

  • Query Count of rows

    Hi Everyone,
    I have a table Table1
    Table1: ID, Name, Sales, Time
    Sample data:
    1, Loo, Y, 20-JUL-09 01.20.17.000000000 PM
    2, Rey, Y, 20-JUL-09 01.20.17.000000000 PM
    1, Loo, Y, 20-JUL-09 01.20.17.000000000 PM
    1, Loo, Y, 20-JUL-09 01.20.17.000000000 PM
    3, Bon, Y, 20-JUL-09 01.20.17.000000000 PM
    1, Loo, Y, 19-JUL-09 01.20.17.000000000 PM
    I want the result as:
    1, 3
    2, 1
    3, 1
    i.e employee with id 1 and count of his apperaince in the table where data is 20-JULY-09
    Any suggestions and inputs are appreciated.
    Thanks
    Kasi

    Hi,
    user10651875 wrote:
    Thanks that worked.
    If i want to change the query to get the ID which is having a count > 20 keeping all the other clauses, what should i modify?Do you mean you only want to diplay rows where count>20 (if any)?
    Add a HAVING clause, immediately after the GROUP BY clause:
    SELECT    id
    ,       COUNT (*)     AS cnt
    FROM       table1
    WHERE       TRUNC (time)     = DATE '2009-07-20'
    GROUP BY  id
    HAVING       COUNT (*)     > 20;HAVING is similar to WHERE, but WHERE is evaluated before aggregate functions (like COUNT in this example) are compute. HAVING is evaluated after the aggregate functions are computed, therefore, you can use them in the HAVING clause. (In fact, you should never have a HAVING clause that doesn't use aggregate functions.)

  • Query in other schema take long time????

    Hi All,
    I am working on two different schemas in the same database say A and B.
    In schema A, I have a table tbl which is having approximately 70,000 rows.
    The table tbl is having an index. When I query on this table tbl in schema A the query out put is given in 10 minutes.
    But when I query on the same table tbl in schema B the out put takes an hour.
    Please explain me the reason why the query takes such a long time in schema B.
    Thanks in advance
    Kaustubh

    Please post the execution plans of the query from both databases.
    Do you have proper statistics gathered on these tables?

  • SQL QUERY COUNT PROBLEM

    Employees:
    Employee_ID Name
    01 Hansen, Ola
    02 Svendson, Tove
    03 Svendson, Stephen
    04 Pettersen, Kari
    Orders:
    Prod_ID Product Employee_ID
    234 Printer 01
    657 Table 03
    865 Chair 03
    SELECT Employees.Name, Orders.Product
    FROM Employees, Orders
    WHERE Employees.Employee_ID=Orders.Employee_ID
    My question is :how to take the count of particular field from above query from the second table.

    Please don't re-post or cross-post.
    SELECT employee.name, COUNT(*)
    FROM employee, product
    WHERE employee.employee_id = product.employee_id
    GROUP BY employee.name
    - Saish

Maybe you are looking for