case when 或 if else 分支类型不同报错

如果出现类似下面的报错提示信息: case when 或 if else分支类型不同报错 - 图1 这是因为case when 或者 if else 分支类型有不同导致的错误,找到相应的影响字段,更改字段的计算方式: case when 或 if else分支类型不同报错 - 图2 在不同类型的那个分支后面加0或减0,则能够改变该分支的类型。 Int64是带负号的整数,UInt64是无负号的整数,可能有的分支是比如count(xxx)的,这个函数不会返回负数,类型是UInt64,帮他们把这个分支给加个0,比如 count(xxx) + 0,这样会自动转换成 Int64。如果加0减0还是无法解决错误,找开发人员协助。