Re: using Select count(*)
From: ddf <oratune_at_msn.com>
Date: Tue, 31 Mar 2009 13:19:42 -0700 (PDT)
Message-ID: <ab2ebc2b-9048-4880-87f0-11179bd0fce0_at_e10g2000vbe.googlegroups.com>
On Mar 31, 2:45 pm, Brock <wade.br..._at_yahoo.com> wrote:
> Thanks in advance for any clues... I am rather new to Oracle so here
> goes. I have a package body / query that is returning data with no
> problems. I do however need to take this package body and rewrite the
> code above the " select p.pr_p_i_n "PIN"," line to allow me to use
> the " Select count(*)" function to return only a set of records that
> have 5 or more records for each "ListingOwnername1". Any ideas?
>
> Procedure AppealsReportsInfo(beg_nbh in number,
> end_nbh in number,
> pyear in number,
> r_cursor out reportcur) is
> effdate date;
> begin
> effdate := to_date(to_char('01/01' || pyear), 'mm/dd/yyyy');
> open r_cursor for
> select p.pr_p_i_n "PIN",
> p.pr_blklot "Block Lot",
> ap.api_keyed_date "Appeal Date",
> ap.api_fmv_now "Appraised Value",
> ap.api_ask_price "Asking Price",
> ap.api_net_increase "Increase",
> ap.api_net_decrease "Decrease",
> getneighborhoodrevalappr(nb.nbh_id) "Appraiser",
> ap.api_new_value "New Value",
> ap.api_remarks "Remarks",
> ap.api_year "Tax Year",
> ap.api_ptc_number "PTC Number",
> ap.api_completion_date "Completed Date",
> ap.api_av14_date "AV14 Date",
> ap.api_inf_date "Informal Date",
> bd.bd_date "BER Date",
> ul.ul_user_login "User Login",
> a3.ad_description "App Type",
> a2.ad_description "Status",
> a1.ad_description "Outcome",
> nb.nbh_number "Neighborhood",
> nbi.nbhi_name "Neighborhood Name",
> nb.nbh_id "NBH ID",
> ju.ju_jurisdiction_name,
>
> (upper(getprintnameline(RealValNoticeListingOwner(p.pr_id,
> pyear,
> 1))))
> ListingOwnername1,
>
> (Select count(*)
> from propertyinfo_t1 pi
> where pi.pi_nbh_id = nb.nbh_id
> and pi.pi_end_date is null
> and pi.pi_eff_date >= effdate) "Property Count"
>
> from appeals_t1 a,
> property_t1 p,
> propertyinfo_t1 pi,
> appealsinfo_t1 ap,
> attributedescription_t1 a1,
> attributedescription_t1 a2,
> attributedescription_t1 a3,
> neighborhoods_t1 nb,
> neighborhoodsinfo_t1 nbi,
> userlogins_t1 ul,
> berdates_t1 bd,
> jurisslice_t1 js,
> jurisalteration_t1 ja,
> jurisdiction_t1 ju,
> listinginfo_t1 lsi,
> listing_t1 ls
>
> where a.app_pr_id = pi.pi_pr_id
> and ap.api_app_id = a.app_id
> and ap.api_end_date is null
> and ap.api_outcome_ad_id = a1.ad_id(+)
> and ap.api_appstatus_ad_id = a2.ad_id(+)
> and a.app_type_ad_id = a3.ad_id(+)
> and p.pr_id = pi.pi_pr_id
> and pi.pi_nbh_id = nb.nbh_id(+)
> and nb.nbh_id = nbi.nbhi_nbh_id
> and nb.nbh_date_archived is null
> and nbi.nbhi_end_date is null
> and nbi.nbhi_eff_date = effdate
> and nb.nbh_number >= beg_nbh
> and nb.nbh_number <= end_nbh
> and pi.pi_end_date is null
> and pi.pi_eff_date >= effdate
> and ap.api_completion_init_ul_id = ul.ul_id(+)
> and ap.api_berdate_bd_id = bd.bd_id(+)
> and js.js_ju_id = ju.ju_id
> and js.js_ja_id = ja.ja_id
> and ja.ja_pr_id = lsi.lsi_re_pr_id
> and lsi.lsi_situs_eff_date = ja.ja_eff_date
> and ja.ja_end_date is null
> and lsi.lsi_year = pyear
> and lsi.lsi_end_date is null
> and lsi.lsi_activated = 'Y'
> and lsi.lsi_ls_id = ls.ls_id
> and p.pr_id = ls.ls_acct_pr_id;
>
> end AppealsReportsInfo;
begin
effdate := to_date(to_char('01/01' || pyear), 'mm/dd/yyyy'); open r_cursor for
Date: Tue, 31 Mar 2009 13:19:42 -0700 (PDT)
Message-ID: <ab2ebc2b-9048-4880-87f0-11179bd0fce0_at_e10g2000vbe.googlegroups.com>
On Mar 31, 2:45 pm, Brock <wade.br..._at_yahoo.com> wrote:
> Thanks in advance for any clues... I am rather new to Oracle so here
> goes. I have a package body / query that is returning data with no
> problems. I do however need to take this package body and rewrite the
> code above the " select p.pr_p_i_n "PIN"," line to allow me to use
> the " Select count(*)" function to return only a set of records that
> have 5 or more records for each "ListingOwnername1". Any ideas?
>
> Procedure AppealsReportsInfo(beg_nbh in number,
> end_nbh in number,
> pyear in number,
> r_cursor out reportcur) is
> effdate date;
> begin
> effdate := to_date(to_char('01/01' || pyear), 'mm/dd/yyyy');
> open r_cursor for
> select p.pr_p_i_n "PIN",
> p.pr_blklot "Block Lot",
> ap.api_keyed_date "Appeal Date",
> ap.api_fmv_now "Appraised Value",
> ap.api_ask_price "Asking Price",
> ap.api_net_increase "Increase",
> ap.api_net_decrease "Decrease",
> getneighborhoodrevalappr(nb.nbh_id) "Appraiser",
> ap.api_new_value "New Value",
> ap.api_remarks "Remarks",
> ap.api_year "Tax Year",
> ap.api_ptc_number "PTC Number",
> ap.api_completion_date "Completed Date",
> ap.api_av14_date "AV14 Date",
> ap.api_inf_date "Informal Date",
> bd.bd_date "BER Date",
> ul.ul_user_login "User Login",
> a3.ad_description "App Type",
> a2.ad_description "Status",
> a1.ad_description "Outcome",
> nb.nbh_number "Neighborhood",
> nbi.nbhi_name "Neighborhood Name",
> nb.nbh_id "NBH ID",
> ju.ju_jurisdiction_name,
>
> (upper(getprintnameline(RealValNoticeListingOwner(p.pr_id,
> pyear,
> 1))))
> ListingOwnername1,
>
> (Select count(*)
> from propertyinfo_t1 pi
> where pi.pi_nbh_id = nb.nbh_id
> and pi.pi_end_date is null
> and pi.pi_eff_date >= effdate) "Property Count"
>
> from appeals_t1 a,
> property_t1 p,
> propertyinfo_t1 pi,
> appealsinfo_t1 ap,
> attributedescription_t1 a1,
> attributedescription_t1 a2,
> attributedescription_t1 a3,
> neighborhoods_t1 nb,
> neighborhoodsinfo_t1 nbi,
> userlogins_t1 ul,
> berdates_t1 bd,
> jurisslice_t1 js,
> jurisalteration_t1 ja,
> jurisdiction_t1 ju,
> listinginfo_t1 lsi,
> listing_t1 ls
>
> where a.app_pr_id = pi.pi_pr_id
> and ap.api_app_id = a.app_id
> and ap.api_end_date is null
> and ap.api_outcome_ad_id = a1.ad_id(+)
> and ap.api_appstatus_ad_id = a2.ad_id(+)
> and a.app_type_ad_id = a3.ad_id(+)
> and p.pr_id = pi.pi_pr_id
> and pi.pi_nbh_id = nb.nbh_id(+)
> and nb.nbh_id = nbi.nbhi_nbh_id
> and nb.nbh_date_archived is null
> and nbi.nbhi_end_date is null
> and nbi.nbhi_eff_date = effdate
> and nb.nbh_number >= beg_nbh
> and nb.nbh_number <= end_nbh
> and pi.pi_end_date is null
> and pi.pi_eff_date >= effdate
> and ap.api_completion_init_ul_id = ul.ul_id(+)
> and ap.api_berdate_bd_id = bd.bd_id(+)
> and js.js_ju_id = ju.ju_id
> and js.js_ja_id = ja.ja_id
> and ja.ja_pr_id = lsi.lsi_re_pr_id
> and lsi.lsi_situs_eff_date = ja.ja_eff_date
> and ja.ja_end_date is null
> and lsi.lsi_year = pyear
> and lsi.lsi_end_date is null
> and lsi.lsi_activated = 'Y'
> and lsi.lsi_ls_id = ls.ls_id
> and p.pr_id = ls.ls_acct_pr_id;
>
> end AppealsReportsInfo;
Why won't this work:
Procedure AppealsReportsInfo(beg_nbh in number,
end_nbh in number,
pyear in number,
r_cursor out reportcur) is
effdate date;
begin
effdate := to_date(to_char('01/01' || pyear), 'mm/dd/yyyy'); open r_cursor for
select p.pr_p_i_n "PIN",
p.pr_blklot "Block Lot",
ap.api_keyed_date "Appeal Date",
ap.api_fmv_now "Appraised Value",
ap.api_ask_price "Asking Price",
ap.api_net_increase "Increase",
ap.api_net_decrease "Decrease",
getneighborhoodrevalappr(nb.nbh_id) "Appraiser",
ap.api_new_value "New Value",
ap.api_remarks "Remarks",
ap.api_year "Tax Year",
ap.api_ptc_number "PTC Number",
ap.api_completion_date "Completed Date",
ap.api_av14_date "AV14 Date",
ap.api_inf_date "Informal Date",
bd.bd_date "BER Date",
ul.ul_user_login "User Login",
a3.ad_description "App Type",
a2.ad_description "Status",
a1.ad_description "Outcome",
nb.nbh_number "Neighborhood",
nbi.nbhi_name "Neighborhood Name",
nb.nbh_id "NBH ID",
ju.ju_jurisdiction_name,
(upper(getprintnameline(RealValNoticeListingOwner(p.pr_id,
pyear, 1)))) ListingOwnername1,
(Select count(*)
from propertyinfo_t1 pi
where pi.pi_nbh_id = nb.nbh_id
and pi.pi_end_date is null
and pi.pi_eff_date >= effdate) "Property Count"
from appeals_t1 a,
property_t1 p,
propertyinfo_t1 pi,
appealsinfo_t1 ap,
attributedescription_t1 a1,
attributedescription_t1 a2,
attributedescription_t1 a3,
neighborhoods_t1 nb,
neighborhoodsinfo_t1 nbi,
userlogins_t1 ul,
berdates_t1 bd,
jurisslice_t1 js,
jurisalteration_t1 ja,
jurisdiction_t1 ju,
listinginfo_t1 lsi,
listing_t1 ls
where a.app_pr_id = pi.pi_pr_id
and ap.api_app_id = a.app_id
and ap.api_end_date is null
and ap.api_outcome_ad_id = a1.ad_id(+)
and ap.api_appstatus_ad_id = a2.ad_id(+)
and a.app_type_ad_id = a3.ad_id(+)
and p.pr_id = pi.pi_pr_id
and pi.pi_nbh_id = nb.nbh_id(+)
and nb.nbh_id = nbi.nbhi_nbh_id
and nb.nbh_date_archived is null
and nbi.nbhi_end_date is null
and nbi.nbhi_eff_date = effdate
and nb.nbh_number >= beg_nbh
and nb.nbh_number <= end_nbh
and pi.pi_end_date is null
and pi.pi_eff_date >= effdate
and ap.api_completion_init_ul_id = ul.ul_id(+)
and ap.api_berdate_bd_id = bd.bd_id(+)
and js.js_ju_id = ju.ju_id
and js.js_ja_id = ja.ja_id
and ja.ja_pr_id = lsi.lsi_re_pr_id
and lsi.lsi_situs_eff_date = ja.ja_eff_date
and ja.ja_end_date is null
and lsi.lsi_year = pyear
and lsi.lsi_end_date is null
and lsi.lsi_activated = 'Y'
and lsi.lsi_ls_id = ls.ls_id
and p.pr_id = ls.ls_acct_pr_id
and (upper(getprintnameline(RealValNoticeListingOwner
(p.pr_id, pyear, 1)))) in
(select (upper(getprintnameline(RealValNoticeListingOwner
(pr_id, pyear, 1))))
from property_t1
group by (upper(getprintnameline
(RealValNoticeListingOwner(p.pr_id, pyear, 1))))
having count(*) > 4);
end AppealsReportsInfo;
David Fitzjarrell Received on Tue Mar 31 2009 - 15:19:42 CDT
