招聘信息循环列表筛选不准确处理方法
问题表现:在招聘列表中如果有超过两位数的招聘分类和多个招聘信息发布时会出现筛选分类得到的结果中有其他分类的信息,具体表现如分类ID为1的分类筛选时会把分类ID为11、21....之类的分类下的招聘信息也显示出来。
问题分析:在招聘列表模板中,标签:招聘信息循环列表 的 标签sql中:charindex('@typeId',JobType,2)>0逻辑存在问题,当typeid字段超过超过两位数,比如有1、11、21,则获得的结果就不准确了。
解决方法:将招聘信息循环列表标签sql改为:
SELECT TOP @pagesize J.*,O.*
FROM PE_TR_Job J INNER JOIN PE_TR_Organization O ON J.OrganizationID = O.OrganizationID
WHERE J.JobType LIKE '%|@typeId|%'
AND J.IsDeleted =0 AND J.Status = 1 AND GETDATE()-1
AND J.JobID NOT IN(
SELECT TOP @startrow J.JobID FROM PE_TR_Job Ji INNER JOIN PE_TR_Organization Oi ON Ji.OrganizationID = Oi.OrganizationID
WHERE Ji.JobType LIKE '%|@typeId|%'
AND Ji.IsDeleted =0 AND Ji.Status = 1 AND GETDATE()-1
ORDER BY Ji.Priority DESC
)
ORDER BY J.Priority DESC