私はジョブを見つけて両方のジョブを申請した人数で注文する必要があります。ジョブIDが両方のジョブにジョブアプリケーションが作成されたリストジョブを返す
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文の試みである:ここでは
は、テーブルがどのように見えるかです。クエリが行う必要がある何
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
は、ジョブID(4279)業務アプリケーションは両方のジョブに対して行われたリストのジョブをバック持参し、両方のジョブ間で共有されるアプリケーションの数によって、ジョブリストをランク付けを与えています。
私はサンプルクエリを書いていませんでしたので、どうしたら間違っているのか分かりません。だれでも助けてくれますか?
あなたは(うまくすることができますではなく、あなたが説明したように)のために適用した他のジョブを表示することはできませんが、このような集約関数でそれらのいずれかを選ぶことができます
確認:あなたは、4279以外の各ジョブについて、そのジョブに対して作成されたアプリケーションの数と4279を要求しますか? –
このクエリの結果は、どのようにあなたが望むものではないのですか? –
ちょっとスコット私は何を行うためにクエリをする必要がありますジョブの両方のジョブに表示され、カウントで順序を表示するcvIdでアプリケーションの数を取得する、それは意味がありますか? – Burt