【发布时间】:2011-02-01 22:20:19
【问题描述】:
SELECT DISTINCT tblJobReq.JobReqId
, tblJobReq.JobStatusId
, tblJobClass.JobClassId
, tblJobClass.Title
, tblJobReq.JobClassSubTitle
, tblJobAnnouncement.JobClassDesc
, tblJobAnnouncement.EndDate
, blJobAnnouncement.AgencyMktgVerbage
, tblJobAnnouncement.SpecInfo
, tblJobAnnouncement.Benefits
, tblSalary.MinRateSal
, tblSalary.MaxRateSal
, tblSalary.MinRateHour
, tblSalary.MaxRateHour
, tblJobClass.StatementEval
, tblJobReq.ApprovalDate
, tblJobReq.RecruiterId
, tblJobReq.AgencyId
FROM ((tblJobReq
LEFT JOIN tblJobAnnouncement ON tblJobReq.JobReqId = tblJobAnnouncement.JobReqId)
INNER JOIN tblJobClass ON tblJobReq.JobClassId = tblJobClass.JobClassId)
LEFT JOIN tblSalary ON tblJobClass.SalaryCode = tblSalary.SalaryCode
WHERE (tblJobReq.JobClassId in (SELECT JobClassId
from tblJobClass
WHERE tblJobClass.Title like '%Family Therapist%'))
当我尝试执行查询时,会导致以下错误。
Cannot sort a row of size 8130, which is greater than the allowable maximum of 8094
我检查并没有找到任何解决方案。唯一的方法是在列大小约为 8000 的查询中截断(substring())“tblJobAnnouncement.JobClassDesc”。
我们是否有任何解决方法,以便我不需要截断这些值。或者这个查询可以优化吗? SQL Server 2000 中的任何设置?
【问题讨论】:
-
请努力正确格式化代码。以上内容很难理解。
-
我刚刚做了另一个编辑,现在它比你原来的文本块更容易阅读......它击败了我,任何人都可以阅读/调试这样的混乱文本。你也可以去掉大部分括号,唯一真正需要的是 WHERE 子句中最后一个 SELECT 周围的括号。
标签: select sql-server-2000 query-optimization