我正在尝试将所有条目更改为3个值:销售票证、服务票证和技术票证。Replace似乎会创建新的条目,比如销售票据,所以我转到了Update功能,这听起来是正确的,但我在下面得到了一个语法错误。你能帮个忙吗?
‘更新tester-253410.test1.3foot
SET string_field_1 =‘销售票证’
其中string_field_1 =‘计划和交易(销售房屋计划和交易)’
和string_field_1 =‘家庭电话升级’
和string_field_1 =‘家庭电话-计划和交易’
和string_field_1 =‘手机设备-套餐和交易’
和string_field_1 =‘商务手机-套餐&交易’
和string_field_1 =‘计划和交易(移动销售)’
和string_field_1 =‘家庭互联网&数据-计划&交易’
和string_field_1 =‘手机互联网和数据升级’
和string_field_1 =‘手机互联网&数据-计划&交易’
和string_field_1 =‘购买语音和数据捆绑包’
和string_field_1 =‘购买数据捆绑包(快速)’
和string_field_1 =‘商业互联网和数据-计划和交易’
和string_field_1 =‘购买服务时间(快递)’
结束,
设置string_field_1 =‘服务票证’
其中string_field_1 =‘家庭互联网和数据取消’
和‘家庭互联网和数据-计费查询’
发布于 2019-10-24 19:28:08
我想你需要一个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)
WHERE true;我简化了长长的字符串列表,因此. . .用于存储附加的字符串值。
注意:我不喜欢就地更新数据。相反,我建议您为票据类型创建一个具有查找值的引用表。然后,您可以简单地在引用表中联接以获取类型--并且仍然拥有原始字符串。
https://stackoverflow.com/questions/58540318
复制相似问题