在满足多个条件时查找筛选数据。我的表格如下:
ID STOCK TIME (datetime field)
1 0 2020-06-12T09:20:00.000
2 0 2020-06-11T09:20:00.000
3 10 2020-06-10T09:20:00.000
4 5 2019-01-12T09:20:00.000
5 0 2009-01-12T09:20:00.000
6 0 2009-06-12T09:20:00.000
我需要保留满足以下任一条件的行:
如果库存>0,则保留行
如果库存<=0,并且时间是从今天开始的2周内,则保留行
结果表应如下所示:
ID STOCK TIME (datetime field)
1 0 2020-06-12T09:20:00.000
2 0 2020-06-11T09:20:00.000
3 10 2020-06-10T09:20:00.000
4 5 2019-01-12T09:20:00.000
对于代码中的where语句,我可以执行标准的第一部分,但却被第二部分卡住了。
WHERE STOCK > 0 OR STOCK <=0 AND TIME BETWEEN datetime_add(current_datetime(), interval -14 day) and current_datetime()
不确定上述代码是否正确。尤其是在手术室。。。
2条答案
按热度按时间ssgvzors1#
您的表达式是正确的,同时建议在这种情况下使用括号以避免混淆,如下面的示例所示
mkshixfv2#
你的代码看起来基本正确。但可以简化为:
这有两个假设:
stock
不是NULL
.time
不是将来。这两者似乎都是合理的。