2016-06-30 7 views
0
UPDATE Temp1 a 
    SET TimeStamp1 = CASE(
        WHEN (a.TimeStamp1 IN 
         (SELECT TimeStamp1 
          FROM a 
          WHERE a.DealName = 'Disha Rufous' 
          AND a.DealStep = 'Sent for Risk feedback') 
         - a.TimeStamp1 IN 
         (SELECT TimeStamp1 
          FROM a 
          WHERE a.DealName = 'Disha Rufous' 
          AND a.DealStep = 'De-dupe confirmation received') 
         IS NOT NULL THEN '0' ELSE TimeStamp1 END) 
    WHERE Temp1.DealName = 'dede' 
    AND Temp1.StepName = 'Risk feedback addressed' 

エラーはTHENCASEの機能で示しています。MSアクセスクエリでこのクエリのオペレータエラーが発生しました

答えて

0

あなたCASEは次のとおりです。

私はあなたがWHEN句が無効であるなら、それは動作しませんなぜあなたが今見ることができると仮定します。 a IN (X)trueまたはfalseを返す場合は、別のtrue/falseの値を減算して、それがヌルであるかどうかを確認することは意味がありません。

私はあなたが欲しい推測している:

UPDATE Temp1 a SET TimeStamp1 = CASE 
             WHEN a.TimeStamp1 IN(SELECT TimeStamp1 FROM Temp1 WHERE DealName = 'Disha Rufous' AND DealStep = 'Sent for Risk feedback') 
              AND a.TimeStamp1 IN(SELECT TimeStamp1 FROM Temp1 WHERE DealName = 'Disha Rufous' AND DealStep = 'De-dupe confirmation received') 
              THEN '0' 
             ELSE TimeStamp1 
           END 
WHERE DealName = 'dede' AND StepName = 'Risk feedback addressed' 

あなたはあなたの要件に応じて、WHEN句でORANDを変更する必要があります。

+0

どうすればよいでしょうか? 「THEN」の位置で構文エラーが発生しています。それは何ですか? –

+0

それはまだ意味をなさないでしょう、あなたは実際に何を達成しようとしていますか? – HoneyBadger

+0

私はそれらの2つの式> 0の違いがあるかどうかをチェックしたいと思います。 –

関連する問題