Oracle SQL查询报标量子查询多行错误及逻辑问题求助
Oracle SQL "单行子查询返回多行"错误逻辑问题点
- 标量子查询语法错误:你写在CASE WHEN判断中的第一个SELECT子查询属于标量上下文,要求必须最多返回1行1列的结果。如果同一个
wo_num下存在多条ab_split <> 'x'的记录,该子查询就会返回多行结果,直接触发你遇到的报错。 - 基础数据集筛选逻辑错误:外层查询的
t1子查询仅过滤了ab_split = 'x'的普通lot记录,带A后缀、ab_split = 'A'的记录根本没有被纳入t1的结果集,就算判断逻辑正确也无法返回你想要的带A后缀的记录。 - 关联匹配规则错误:你的示例数据中,同组的普通lot和带A后缀lot的
wo_num并不相同,你用wo_num作为关联条件完全无法匹配到对应分组,和你预期的「按lot前缀分组优先取带A后缀记录」的需求不符。
内容的提问来源于stack exchange,提问作者Wondarar
相关产品推荐
相关产品推荐

