15

内部結合で CASE ステートメントを使用しようとすると、構文エラーしか表示されません。これについて何かアドバイスはありますか?

ここにコードがあります

 SELECT  
    Call_type_ID,
    SUM (staging.dbo.outgoing_measure.ring_time) AS Ring_Time,
    SUM (staging.dbo.outgoing_measure.hold_time) As Hold_Time,
    SUM (staging.dbo.outgoing_measure.talk_time) AS Talk_Time,
    SUM (staging.dbo.outgoing_measure.acw_time) AS ACW_Time,
    COUNT(*) CallCount
FROM outgoing_measure

INNER JOIN datamartend.dbo.Call_Type_Dim ON 
CASE 
WHEN 
CTICallType_ID = 1
AND CTIAgentCallType_ID = 0
AND Abandoned  IS NULL
AND AnsTime > 0
AND CallState IS NULL
THEN Call_Type_ID = 10
WHEN
CTICallType_ID = 1
AND CTIAgentCallType_ID = 0
AND Abandoned  IS NULL
AND AnsTime > 0  
AND CallState = 1
THEN call_Type_id = 11
WHEN 
CTICallType_ID = 1
AND CTIAgentCallType_ID = 0
AND Abandoned = 1
AND AnsTime IS NULL
AND CallState IS NULL
THEN call_type_ID = 12
ELSE call_type_id = 1
END

Group by call_Type_id

case ステートメントを使用したのはこれが初めてであり、それらを内部結合と組み合わせることは言うまでもありません。完全に混乱していたら申し訳ありません。

私が得ている構文エラーは次のとおりです。

ここで = と WHEN の構文が正しくありません

THEN Call_Type_ID = 10
WHEN

また、GROUP BY で CONVERSION を期待する不適切な構文

4

2 に答える 2