我正在尝试使用以下case语句基于嵌套列值更新顶级列
UPDATE
`project.database.table`
SET
ReplaceTotal= (
SELECT
CASE
WHEN DamageLineInfo.MessageCode='MO' AND DamageLineInfo.AutomatedEntry=TRUE AND DamageLineInfo.LaborInfo.LaborOperation='OPO' AND DamageLineInfo.LaborInfo.LaborType='LAB' AND DamageLineInfo.LaborInfo.LaborInclInd=FALSE THEN DamageLineInfo.LaborInfo.LaborAmt
WHEN DamageLineInfo.LaborInfo.LaborOperation='OP9'
OR DamageLineInfo.LaborInfo.LaborOperation='OP11'
OR DamageLineInfo.LaborInfo.LaborOperation='OP5'
OR DamageLineInfo.LaborInfo.LaborOperation='OP12'
OR DamageLineInfo.LaborInfo.LaborOperation='OP10'
OR DamageLineInfo.LaborInfo.LaborOperation='OP1'
OR DamageLineInfo.LaborInfo.LaborOperation='OP21' THEN
CASE
WHEN DamageLineInfo.LaborInfo.LaborType='LAB' AND DamageLineInfo.LaborInfo.LaborInclInd=FALSE THEN DamageLineInfo.LaborInfo.LaborAmt
END
END as ReplaceTotal
FROM
UNNEST(ServiceBusEnvelope.Payload.RepairOrderFolderAddRq.DamageLineInfo) AS DamageLineInfo)
WHERE
TRUE
运行查询时出现以下错误 标量子查询产生了多个元素
帮助我了解该错误。 如果错误是由于生成的数据具有值列表,那么请获取数据的第一个值。
答案 0 :(得分:1)
如果错误是因为生成的数据具有值列表
是的,这就是原因
获取数据的第一个值
仅需添加Diff
,如以下示例所示
LIMIT 1