1

ISNULL() 関数で何かを間違って配置してしまったので、それを見つけるために別の目が必要です。私はそれを見つめすぎて、脳がロックされました(私はISNULL()が何であるかを知っています、これは単なる構文エラーです)

(SELECT tn.teamtext, tn.teamid, ISNULL(sum(ISNULL(case when CONVERT(smalldatetime,dModLast,101) BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end), 0), 0) AS cnt3
  FROM teamnames AS tn 
    LEFT OUTER JOIN caseaudit AS ca
    ON tn.teamID = ca.referteamID2
  WHERE ca.referteamid1 <> ca.referteamid2 AND isactive = 1 AND groupid = 18 AND accountid = 2 AND referteamid1 = 31 AND auditnote <> 'Suspend Case'
  GROUP BY tn.teamtext, tn.teamid) AS c
4

4 に答える 4

2

このISNULL()関数には、次の 2 つの引数が必要です。

http://msdn.microsoft.com/library/ms184325.aspx

1 つ目はテストされる式で、2 つ目はテストされた式が に評価された場合に返される値NULLです。

2 番目のISNULL()関数は 1 つのパラメーターのみを指定します。

ISNULL(case when CONVERT(smalldatetime,dModLast,101) 
       BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end)

試してみてください:

ISNULL((case when CONVERT(smalldatetime,dModLast,101) 
       BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end), 0)
于 2012-06-06T15:00:18.753 に答える
1

あなたは間違った場所に親を持っています:

ISNULL(sum(ISNULL(case when CONVERT(smalldatetime,dModLast,101) BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end , 0)), 0) AS cnt3

CASEステートメントの「終了」後の注意

于 2012-06-06T15:02:12.783 に答える
1

これを試して:

(SELECT tn.teamtext, tn.teamid, ISNULL(sum(ISNULL(case when CONVERT(smalldatetime,dModLast,101) BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end, 0)), 0) AS cnt3
  FROM teamnames AS tn 
    LEFT OUTER JOIN caseaudit AS ca
    ON tn.teamID = ca.referteamID2
  WHERE ca.referteamid1 <> ca.referteamid2 AND isactive = 1 AND groupid = 18 AND accountid = 2 AND referteamid1 = 31 AND auditnote <> 'Suspend Case'
  GROUP BY tn.teamtext, tn.teamid) AS c
于 2012-06-06T15:00:49.577 に答える
0

これが答えです...私はそれを理解しました。

違いに注意してください...

オリジナル: ISNULL(sum(ISNULL(case when CONVERT(smalldatetime,dModLast,101) BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end), 0), 0)

改訂された ISNULL(sum(ISNULL(case when CONVERT(smalldatetime,dModLast,101) BETWEEN '2012-03-01' AND '2012-03-10' then 1 else 0 end , 0)),0)

于 2012-06-06T15:04:22.120 に答える