У меня есть требование найти работу и упорядочить ее по количеству людей, которые подали заявку на обе вакансии.
Вот как выглядит таблица:
CREATE TABLE [dbo].[JobApplication](
[Id] [int] IDENTITY(1,1) NOT NULL,
[JobId] [int] NULL,
[CvId] [int] NULL,
[MemberId] [int] NULL,
[CreatedDate] [smalldatetime] NULL,
[Source] [nvarchar](50) NULL,
[AgreedTerms] [bit] NULL,
[Authorised] [bit] NULL,
[ApplicationStatusId] [int] NULL)
А здесьэто попытка выбора оператора.
SELECT JobApplication.JobId, JobApplication_1.JobId AS AppliedFor, COUNT(JobApplication_1.JobId) AS AppliedForCount
FROM JobApplication INNER JOIN
JobApplication AS JobApplication_1 ON JobApplication.CvId = JobApplication_1.CvId
WHERE JobApplication.JobId <> JobApplication_1.JobId
GROUP BY JobApplication.JobId, JobApplication_1.JobId
HAVING (JobApplication.JobId = 4279)
ORDER BY AppliedForCount DESC
Для выполнения запроса требуется идентификатор задания (4279), который возвращает список заданий, в которых приложения заданий были выполнены для обоих заданий, и ранжирует список заданий по количеству приложений, совместно используемых обоими заданиями.,
Я не написал пример запроса, поэтому, пожалуйста, не вижу, где он идет не так, может кто-нибудь помочь, пожалуйста?