При заданном идентификаторе задания можно получить список заданий, в которых на оба задания были поданы заявки. - PullRequest
0 голосов
/ 06 января 2012

У меня есть требование найти работу и упорядочить ее по количеству людей, которые подали заявку на обе вакансии.

Вот как выглядит таблица:

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), который возвращает список заданий, в которых приложения заданий были выполнены для обоих заданий, и ранжирует список заданий по количеству приложений, совместно используемых обоими заданиями.,

Я не написал пример запроса, поэтому, пожалуйста, не вижу, где он идет не так, может кто-нибудь помочь, пожалуйста?

1 Ответ

1 голос
/ 06 января 2012

Вы не можете отобразить другие вакансии, на которые были поданы заявки (хорошо, что вы можете, но не так, как вы описали), но вы можете выбрать одну из них с помощью функции агрегирования, подобной этой:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...