我试图寻找解决我所面临问题的方法,但是没有找到与我试图做的事情类似的事情。我假设CASE语句可能是我想要的解决方案的一部分。
我正在尝试获取所有具有以下条件的销售订单:
我还希望所有其他保险级别,只要订单上的状态为“新”即可。
我的WHERE子句当前如下所示:
WHERE SO.Status = 'New'
AND SO.InsuranceLevel <> '2'
AND (SO.InsuranceLevel = '1' AND SO.PayPercentage < 100)
但是,当我运行上面的代码时,它只为我提供保险级别1,其支付百分比<100。它不包括任何其他级别。我确实尝试将代码更改为此:
WHERE SO.Status = 'New'
AND SO.InsuranceLevel <> '2'
OR (SO.InsuranceLevel = '1' AND SO.PayPercentage < 100)
但是它仍然给我错误的结果。
对此有任何帮助!
此外,我正在使用SQL Server 2016