我需要帮助来编写一个简单的程序。让我解释一下我想要做什么。
我有 3 张桌子
- tJobOffer
- t应用
- tApplicationStatus
我想创建一个程序,返回一个 tJobOffer 列表,其中包含此 tJobOffer 的不同状态的统计信息。tApplicationStatus 链接到链接到 tJobOffer 的 tApplication。申请可以是候选/接受/拒绝/忽略/...
我创建了这个查询:
SELECT
[T].[JobOfferId],
[T].[JobOfferTitle],
COUNT([A].[ApplicationId]) AS [CandidateCount]
FROM [tJobOffer] AS [T]
LEFT JOIN [tApplication] AS [A]
INNER JOIN [tApplicationStatus] AS [S]
ON [S].[ApplicationStatusId] = [A].[ApplicationStatusId]
AND [S].[ApplicationStatusTechnicalName] = 'CANDIDATE'
ON [A].[JobOfferId] = [T].[JobOfferId]
GROUP BY
[T].[JobOfferId],
[T].[JobOfferTitle]
ORDER BY [T].[JobOfferTitle] ;
结果是
> 52ED7C67-21E1-49BB-A1F8-0601E6EED1EA Announce a 0
> F26B228D-0C81-4DA8-A287-F8F997CC1F9C Announce b 0
> 9DA60B23-F113-4C7F-9707-2B90C1556D5D Announce c 2
> 258E11A7-79C1-47B6-8C61-413AA54E2360 Announce d 0
> DA582383-5DF4-4E1D-837C-382371BDEF57 Announce e 1
结果是正确的。我得到了我的 tJoboffers 和状态候选人的统计数据。我有 2 位 Announce c 候选人和 1 位宣布 e 候选人。如果我将字符串“CANDIDATE”更改为“ACCEPTED”或“REFUSED”,我可以获得有关这些状态的统计信息。是否有可能在一个请求中获得所有内容?
就像是
> 52ED7C67-21E1-49BB-A1F8-0601E6EED1EA Announce a 0 0 2
> F26B228D-0C81-4DA8-A287-F8F997CC1F9C Announce b 0 0 1
> 9DA60B23-F113-4C7F-9707-2B90C1556D5D Announce c 2 0 0
> 258E11A7-79C1-47B6-8C61-413AA54E2360 Announce d 0 0 0
> DA582383-5DF4-4E1D-837C-382371BDEF57 Announce e 1 1 0