[英]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.