1

こんにちは.. ms access sqlからsql server 2005 sql queryに変換するのに苦労しています..そしてこれが私のコードです:

UPDATE Data SET 
  Data.Mean =([std1]+[std2]+[std3]/
IIf((3+(([std1]=0)+([std2]=0)+([std3]=0)))>0,
  (3+(([std1]=0)+([std2]=0)+([std3]=0))),1) 
WHERE Data.ID=125

これを変換する最善の方法は、CASE WHEN STATEMENTまたは既に知っている提案/代替案を使用することだと思いますか?

前もって感謝します!

4

2 に答える 2

2

これを試して

    UPDATE Data SET 
     Mean =([std1]+[std2]+[std3])/
    case when abs([std1])+abs([std2])+abs([std3])=0 then 1 else 
      3 + case [std1] when 0 then -1 else 0 end 
        + case [std2] when 0 then -1 else 0 end 
        + case [std3] when 0 then -1 else 0 end
    end
    WHERE ID=125
于 2013-12-28T06:55:10.417 に答える