我正在尝试将所有条目更改为3个值:销售票,服务票和技术票。替换似乎会创建新的条目,如Sales Ticket Ticket,因此我移到了Update函数,听起来像是正确的函数,但是下面出现语法错误。您能帮忙吗?
'''更新tester-253410.test1.3foot
SET string_field_1 ='销售单'
[WHERE string_field_1 ='计划和交易(销售家庭计划和交易)'
AND string_field_1 ='家庭电话-升级'
AND string_field_1 ='家庭电话-计划和优惠'
AND string_field_1 ='手机-计划和交易'
AND string_field_1 ='商务手机-计划和交易'
AND string_field_1 ='计划和交易(销售手机)'
AND string_field_1 ='家庭Internet和数据-计划和优惠'
AND string_field_1 ='手机的互联网和数据-升级'
AND string_field_1 ='手机互联网和数据-计划和交易'
AND string_field_1 ='购买语音和数据包'
AND string_field_1 ='购买数据包(快速)'
AND string_field_1 ='商业互联网与数据-计划与交易'
AND string_field_1 ='购买通话时间(快递)'
END,
SET string_field_1 ='服务票'
WHERE string_field_1 ='家庭Internet和数据-取消'
AND'家庭互联网和数据-帐单查询''''
我认为您想要case
表达式:
UPDATE tester-253410.test1.3foot
SET string_field_1 = (CASE WHEN string_field_1 IN ('Plans and Deals (Sales Home Plans and Deals)', string_field_1 = 'Home Telephone - Upgrade', . . . )
THEN 'Sales Ticket'
WHEN string_field_1 IN ('Home Internet & Data - Cancellation', . . .)
THEN 'Service Ticket'
ELSE 'Technical Ticket'
END);
我简化了长长的字符串列表,因此. . .
用于附加的字符串值。
注意:我不喜欢就地更新数据。相反,我建议您创建一个具有故障单类型查找值的参考表。然后,您可以简单地加入引用表以获取类型-并保留原始字符串。