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: count(*) = 0 and I still need the row

RE: count(*) = 0 and I still need the row

From: William Rogge <William_Rogge_at_voltek.com>
Date: Wed, 15 Nov 2000 15:38:48 -0500
Message-Id: <10681.122173@fatcity.com>


Try this change....

SELECT hp.URL,

       nvl(count(pv.HTML_PAGE_ID),0)
  FROM PAGE_VIEWS pv,

       HTMP_PAGE hp
 WHERE hp.PAGE_ID = pv.HTML_PAGE_ID(+)
   AND pv.VIEW_DATE > addmonths(SYSDATE, -1);

The outer join (+) will force all items in HTMP_PAGE to be returned. The NVL will force a '0' if no count is returned.

-----Original Message-----

From:	Dave Morgan [SMTP:dmorgan_at_bartertrust.com]
Sent:	Wednesday, November 15, 2000 10:30 AM
To:	Multiple recipients of list ORACLE-L
Subject:	count(*) = 0 and I still need the row

Hi All,
	For the SQL experts out there. 
	I have the tables

	PAGE_VIEWS
		VIEW_ID		NUMBER(10,0)
		HTML_PAGE_ID	NUMBER(10,0)
		VIEW_DATE	DATE

	HTML_PAGE
		PAGE_ID		NUMBER(10,0)
		URL		VARCHAR2(255)
		....

	PAGE_VIEWS.HTML_PAGE_ID is a foreign key to HTML_PAGE.PAGE_ID
	I want to get a list of all pages and number of times they are viewed
	in the past month. 

	SELECT
		hp.URL,
		count(pv.HTML_PAGE_ID)
	FROM
		PAGE_VIEWS pv, HTMP_PAGE hp
	WHERE 
		hp.PAGE_ID = pv.HTML_PAGE_ID
	AND
		pv.VIEW_DATE > addmonths(SYSDATE, -1);

	This works fine except when the page has not been viewed in which
	case it does not show up in the report. I would like it to show up
	with the number 0. Any ideas?

	This is in a stored procedure so I can be very flexible.

TIA
Dave
--

Dave Morgan
Senior Database Administrator
Internet Barter Inc.
www.bartertrust.com
408-982-8774
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: Dave Morgan
  INET: dmorgan_at_bartertrust.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
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 Received on Wed Nov 15 2000 - 14:38:48 CST

Original text of this message

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