Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在where子句SQL中使用case/if_Mysql_Sql_Case - Fatal编程技术网

Mysql 在where子句SQL中使用case/if

Mysql 在where子句SQL中使用case/if,mysql,sql,case,Mysql,Sql,Case,所以我有一个按日期分为两个不同类别的项目列表,在切换类别时,我有时会遇到一个错误,无法让项目进入正确的位置。打乱查询的是我想放在case/if语句中的内容,因为只有当有一个项目具有相同的日期时才需要它,其他任何时候它都会抛出整个查询。这是我所拥有的,假设我知道这个案例在哪里或如何都不起作用,请与我合作 SELECT CASE WHEN COUNT(*)=0 THEN (SELECT MAX(Rotate)+1 FROM Table1 WHERE Vol=1) ELSE MIN(o.Rotate)

所以我有一个按日期分为两个不同类别的项目列表,在切换类别时,我有时会遇到一个错误,无法让项目进入正确的位置。打乱查询的是我想放在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
您不需要案例:


谢谢,这对我的一个问题有效。我将在多个位置进行测试,以确保在每个位置都得到我应该得到的答案。我试过之后再给答案打分。我现在对SQL不太熟悉,已经有一段时间了。再次感谢你,它在所有方面都工作得很好。不过我真的应该想到这一点。。。。我太专注于案例条款了,除此之外,我想不出其他任何事情了!从现在起,我会记住这一点。我确实做了这方面的研究,实际上花了大约两个小时,并没有在其他人的问题中找到我想要的。如果我有,我就不会问了。我的问题是,我一直在努力研究案例条款,想除此之外的任何事情。谢谢你的评分。
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')