【发布时间】:2013-07-24 07:18:14
【问题描述】:
我希望sum(t1+t2) as d 结果使用group by tblpersonalInfo.applicantID 准确发布,但是此查询向我显示 d 的结果与tblpersonalInfo.applicantID 分组,但此查询以增量方式显示 d 的结果。
SELECT DISTINCT
t1+t2,
tblPersonalInfo.ApplicantId,
tblPersonalInfo.Applicantname
FROM (
SELECT SUM(tblExpeRange.score)as t2
FROM tblexperience
LEFT OUTER JOIN tblExpeRange
ON tblexperience.ExpRange=tblExpeRange.expeRange
GROUP BY tblexperience.ApplicantId
) tblexperience,
(
SELECT SUM(tblGradPoint.score) AS t1
FROM tblAcademicInfo
LEFT OUTER JOIN tblGradPoint
ON tblAcademicInfo.cgpa=tblGradPoint.[cgpa/division]
GROUP BY tblAcademicInfo.ApplicantId
) tblAcademicInfo,
tblPersonalInfo
INNER JOIN tblCircular
ON tblPersonalInfo.Cirname = tblCircular.Cirname
WHERE tblCircular.Cirname=(tblPersonalInfo.Cirname)
RETURN
【问题讨论】:
-
为什么注释掉了 sum 和 group by?
-
显示您遇到问题的实际查询,而不是注释掉大块的修改版本。无论如何,我怀疑问题出在
DISTINCT。如果要分组,则不需要。 -
...我试图编辑查询以使其更具可读性,但注释掉的部分会造成真正的混乱
-
tblexperience和其他表有什么关系?
-
从重写查询开始,将子查询粘贴到临时表中并首先检查它们的结果。最后处理查询本身。
标签: sql sql-server sql-server-2008