Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: SQL HELP!!!

Re: SQL HELP!!!

From: Viktor <stant_98_at_yahoo.com>
Date: Tue, 26 Aug 2003 14:39:28 -0800
Message-ID: <F001.005CD54A.20030826143928@fatcity.com>


Jared,  

I had a temporary brain freeze :), thanks much! I have modified it a bit, and it seems to be working fine! One other small thing. Is there a quick wahy to calculate percentage of web/non-web and vice-versa in the same select after the column "sums"?  

select distinct id, received_date, sum(count_web), sum(count_hardcopy) from (
select distinct id ,

         to_char(received_date, 'YYYY-mm') received_date,
         id||yr||seq_no||ck MSNO,
         CASE WHEN seq_no > 4000 then
         count(*)
         ELSE 0 end Count_WEB,
         CASE WHEN seq_no <=4000 then
         count(*)
         ELSE 0 END Count_HARDCOPY

from t
where id = 'AC'
and received_date between '01/01/2003' and '12/31/2003' group by id,
         to_char(received_date, 'YYYY-mm'),
         seq_no,
         id||yr||seq_no||ck

)
group by id, received_date  

Thanks again!

Jared.Still_at_radisys.com wrote:

Viktor,

By using an inline view, count_web does indeed become a column.

Did you try the query?

Jared

Viktor <stant_98_at_yahoo.com>
 08/26/2003 01:29 PM

        
        To:        Jared.Still_at_radisys.com, ORACLE-L_at_fatcity.com 
        cc:         
        Subject:        Re: SQL HELP!!!


Jared,   

Thanks for your fast reply! Sorry if I didn't explain myself clear enough. Unfortunately count_web is not a column, id||yr||seq_no||ck is a combination of 4 columns that make up a primary key. if seq_no >4000, in a id||yr||seq_no||ck row, it's a "web row", if not then it's not. what I would like to see is:   

ID  Received_date   Non-web count       Web_count 
AR 2003-01            0                           4
AR 2003-02            0                           6
AR 2003-0              1                           8 
and so forth.....   

Again thanks for any suggestions you may have!   

Thanks very much!    

Jared.Still_at_radisys.com wrote:

I'm not sure I entirely understand the result you are trying to achieve.

Perhaps this will help

select received_date, msno, sum(count_web), hardcopy from (
select id ,

        to_char(received_date, 'YYYY-mm') received_date,
        id||yr||seq_no||ck MSNO
        CASE WHEN seq_no > 4000 then count(seq_no) ELSE 0 end Count_WEB,
        CASE WHEN seq_no <=4000 then count(seq_no) ELSE 0   END  HARDCOPY 
from t
where received_date between '01/01/2003' and '12/31/2003' group by id,
 ; to_char(received_date, 'YYYY-mm'),
  sequence_no,
 id||yr||seq_no||ck
)
group by received_date, msno, hardcopy
/

Viktor <stant_98_at_yahoo.com>
Sent by: ml-errors_at_fatcity.com
 08/26/2003 01:59 PM
Please respond to ORACLE-L

        
       To:        Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> 
       cc:         
       Subject:        SQL HELP!!!



Hello,  

I was wondering if someone can help me with a report. I am stuck figuring out what I can do to complete it. Here is what I need to do:  

for a given date range, i..e. start_date - end_date ('01/01/2003', '12/31/2003'), I need to count all "web", and "non-web" recor ds. If seq_no > 4000, then it's web, otherwise non-web. seq_no is not unique. So it's like 2 different where claused in a single select. Could I somehow use CASE or decode to accomplish this. Here is what I am trying to do in select:  

select id ,

        to_char(received_date, 'YYYY-mm'),
        id||yr||seq_no||ck MSNO
        CASE WHEN seq_no > 4000 then count(seq_no) ELSE 0 end Count_WEB,
        CASE WHEN seq_no <=4000 then count(seq_no) ELSE 0   END  HARDCOPY 
from t
where received_date between '01/01/2003' and '12/31/2003' group by id,
 to_char(received_date, 'YYYY-mm'),
  sequence_no,
 id||yr||seq_no||ck < BR>/  
AR 2003-01 AR030023T         0              1
AR 2003-01 AR0200302         0              1
AR 2003-01 AR020047K         0              1
AR 2003-01 AR020077N         0              1 
 

I would like to show Year-Month once and count all instances of id||yr||seq_no||ck (primary_key) for that Year-Month, but not to break on it, and unfortunaley it won't let me do it without grouping on seq_no  

Please advise!!!  

Any help is greatly appreciated!     



Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software

Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software

Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Viktor
  INET: stant_98_at_yahoo.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services

---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
Received on Tue Aug 26 2003 - 17:39:28 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US