任何人都可以帮助我解决为什么WHERE子句如果不起作用?它的替代解决方案是什么?
SELECT jq.jobid
FROM jobqueue jq
LEFT JOIN taskslogs tl
ON jq.taskqueueid=tl.taskqueueid
LEFT JOIN (SELECT p1.taskID,p1.processingType
FROM projecttask p
LEFT JOIN projecttask p1
ON p.sequenceNo=p1.nextTaskSequence
AND p.projectID=p1.projectID
WHERE p.taskID=paramTaskID) prevTask
ON tl.taskID=prevTask.taskID
WHERE IF(prevTask.processingType='BATCH',jq.batchid!=0,IF(prevTask.processingType='DOCGROUP',jq.documentgroupid!=0,TRUE))
GROUP BY jq.jobid
答案 0 :(得分:1)
也许是这样的:
WHERE
(prevTask.processingType='BATCH' AND jq.batchid!=0)
OR (prevTask.processingType='DOCGROUP' AND jq.documentgroupid!=0)
答案 1 :(得分:0)
我认为你不能在查询中使用IF语句。对于程序来说更是如此。
您应该查看使用案例陈述。