DB2 -Clause IN-多值

DB2 -Clause IN-Multiple Value

当列 'generated_key ' return 一个值

时,以下代码工作正常

WHERE 代码在(SELECT generated_key 来自 List_agg )

代码 generated_key
EU00100ST10000016 EU00100ST10000016

但是当列 generated_key 包含多个值时,它 return 0 行

代码 generated_key
EU00100ST10000016 EU00100ST10000016,EU00100ST10000017

如果需要与列表进行比较,请使用分隔比较

WHERE EXISTS (SELECT 1
              FROM list_agg
              WHERE ',' || generated_key || ',' LIKE '%,' || code ',%' 
             )

“list_agg”名称表明您正在聚合来自另一个查询的值。如果是这样,您可以使用 use in 而不进行聚合。但是你的问题没有足够的细节来判断是否真的如此。