SQL Server其中有3个变量,1是必选项


SQL Server Where with 3 variables 1 is mandatory

目前有一个查询需要根据客户代码和状态从表'Jobs'返回。基本我想显示客户的所有作业,其中作业状态不是' pickup ',或者如果它是' pickup ',则' uploaddshipping '(日期)是在过去24小时内。

这是我当前的查询:

SELECT * FROM Jobs
WHERE custcode='$custcode' AND (status!='PICKEDUP' OR  uploadedshipping > DATEADD(DAY, -1, GETDATE ()))
ORDER BY datercvd DESC, job ASC

然而,这是返回过去24小时内上载的所有项目。我哪里做错了?

根据Anton的建议更新了我的答案。

试试这个:

SELECT * FROM Jobs
WHERE custcode = '$custcode' AND (status != 'PICKEDUP' OR (uploadedshipping > DATEADD(DAY, -1, GETDATE ()) AND status = 'PICKEDUP'))
ORDER BY datercvd DESC, job ASC

让我知道它是否有效。我的坏。这是错误的