我正在处理一个表,其中一个表有多个计算列。我们可以这样做吗? 我尝试过以下代码,但它不起作用。
CREATE TABLE CRM_Doctor_Request_old(
Id int NULL,[Event_Type_Id] [bit] NULL,
Compute_Event_Type AS CASE WHEN Event_Type_Id=1 Then 'Individual' WHEN Event_Type_Id=0 Then 'Group' PERSISTED,
CRM_State_Id smallint NULL,
Compute_CRM_State AS CASE WHEN CRM_State_Id=1 Then 'Pending' WHEN CRM_State_Id=2 Then 'Approved' WHEN CRM_State_Id=3 Then 'Cancelled' PERSISTED,
Service_State_Id smallint NULL,
CRM_Service_State AS CASE WHEN Service_State_Id=1 Then 'In queue' WHEN Service_State_Id=2 Then 'In Process' WHEN Service_State_Id=3 Then 'Completed' WHEN Service_State_Id=3 Then 'Cancelled' PERSISTED
);
答案 0 :(得分:2)
不要忘记END
你的案件:
CASE WHEN ... THEN ... WHEN ... THEN ... END
据我所知,多个计算列没有任何问题。
答案 1 :(得分:1)
您的计算列依赖于Event_Type_Id
,但这不在表定义中。