簡體   English   中英

在where子句SQL中使用case / if

[英]Using a case/if in the where clause SQL

所以我有一個按日期在兩個不同類別中組織的項目列表,當切換類別時,我有時會遇到一個錯誤,該錯誤不會讓項目進入正確的位置。 弄亂查詢的是我想要放在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

你不需要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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM