Re: Report query
- From: Hugo Kornelis <hugo@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 27 Jul 2005 21:53:43 +0200
On Wed, 27 Jul 2005 19:28:42 GMT, c0de w via SQLMonster.com wrote:
>
>I am trying to create a query which should return 4 columns
>Facility | NoOfActiveApplicants | NoOfArchivedApplicants | TotalApplicants
>I would be glad to even have just 3 columns since, the Total can be computed
>in the display table (ColdFusion interface)
>
>Facility | NoOfActiveApplicants | NoOfArchivedApplicants
>
>So far I have the following query, which returns just 2 rows with both
>NoOfActiveApplicants & NoOfArchivedApplicants under the same column.
>Am stuck here, any help is apprecialted. Thanks in advance!
>
>select
> NoOfApplicants= sum(case when a.id <> 0 then 1 else 0 end)
>, Facility = case when c.facility is null then c.JobDBFacilityName else c.
>facility end
> from tblapplicant a, tblJobDB b, tblfacilities c
>where a.jobid = b.jobid
> and b.facility = c.facilityid
>group by c.facilityid,c.JobDBFacilityName,c.facility,b.facility
>union all
>select
> NoOfApplicants= sum(case when a.id <> 0 then 1 else 0 end)
>, Facility = case when c.facility is null then c.JobDBFacilityName else c.
>facility end
> from tblArchiveapplicant a, tblArchiveJob b, tblfacilities c
>where a.JobVacancyNumber = b.JobVacancyNumber
> and b.facility = c.facilityid
>group by c.facilityid,c.JobDBFacilityName,c.facility,b.facility
>order by facility
Hi c0de,
Hard to say without knowing anything about structure of the tables in
your database (see www.aspfaq.com/5006 for a better way to ask questions
in these groups). But you might see if the following helps you:
SELECT Facility, NoOfActiveApplicants, NoOfArchivedApplicants,
NoOfActiveApplicants + NoOfArchivedApplicants AS
TotalApplicants
FROM (SELECT COALESCE(facility, JobDBFacilityName) AS Facility,
(SELECT COUNT(*)
FROM tblapplicant AS a
INNER JOIN tblJobDB AS b
ON a.jobid = b.jobid
WHERE b.facility = c.facilityid) AS
NoOfActiveApplicants,
(SELECT COUNT(*)
FROM tblArchiveapplicant AS a
INNER JOIN tblArchiveJob AS b
ON a.JobVacancyNumber = b.JobVacancyNumber
WHERE b.facility = c.facilityid) AS
NoOfArchivedApplicants
FROM tblfacilities AS c) AS der
ORDER BY Facility
Best, Hugo
--
(Remove _NO_ and _SPAM_ to get my e-mail address)
.
- References:
- Report query
- From: c0de w via SQLMonster.com
- Report query
- Prev by Date: Re: Yukon XQuery question
- Next by Date: Re: Scheduling a script
- Previous by thread: Report query
- Next by thread: Re: Report query
- Index(es):
Relevant Pages
|