【发布时间】:2014-10-27 15:16:20
【问题描述】:
我已经尝试了一些方法,但我似乎无法找出导致问题的原因。 当我删除 totalHours 部分时,查询工作正常。但有了它,它会显示正确的小时数,但会显示错误的工作、选定和获胜者数量。
谁能告诉我我做错了什么?
提前致谢。
这是我的查询;
SELECT
crmCandidate.candidateID,
crmCandidate.candidateName,
COUNT(DISTINCT crmJoin.joinID) AS Jobs,
SUM(IF(crmJoin.joinExtra = 'select', 1, 0)) AS Selected,
SUM(IF(crmJoin.joinExtra = 'winner', 1, 0)) AS Winner,
ROUND(SUM(crmDays.total)) AS totalDays
FROM crmCandidate
LEFT JOIN crmJoin ON (crmJoin.joinChild = crmCandidate.candidateID)
LEFT JOIN crmJob ON (crmJob.jobID = crmJoin.joinParent)
LEFT JOIN crmDays ON (crmDays.dayCandidateID = crmJoin.joinChild)
WHERE
crmDays.dayJobID = crmJob.jobID AND
crmDays.dayCandidateID = crmCandidate.candidateID
GROUP BY
crmCandidate.candidateID
ORDER BY DESC
LIMIT 100
【问题讨论】:
-
crmhours 表连接丢失,示例数据和预期结果也会有所帮助
-
对不起,你是对的,我已经更新了我的查询。
标签: mysql count group-by sum left-join