所以我有一个按日期在两个不同类别中组织的项目列表,当切换类别时,我有时会遇到一个错误,不会让项目进入正确的位置。弄乱查询的是我想要放在case / if语句中的事情,因为只有当一个项目具有相同的日期时才需要它,任何时候它都会抛出整个查询。这就是我所拥有的,因为我知道那个案例不适用于它或它是如何工作的,请与我合作。
SELECT CASE WHEN COUNT(*)=0 THEN (SELECT MAX(Rotate)+1 FROM Table1 WHERE Vol=1)
ELSE MIN(o.Rotate) END as nRotate FROM Table1 o INNER JOIN Table2 s ON o.SID=s.ID
WHERE s.Date >='7/30/2004' And s.ID<>100 And o.Vol=1 and
Case s.DATE
When '7/30/2004' then s.Sales>'Doe, Jane'
End
答案 0 :(得分:2)
您不需要case
:
WHERE s.Date >='2004-07-30' And s.ID <> 100 And o.Vol = 1 and
(s.date <> '2004-07-30' or s.Sales > 'Doe, Jane')