mysql使用GROUP_CONCAT做完查询条件导致in失效的解决方案
我需要查出hr_perf_forced_distribution_org表中uuid在子查询中出现过的,
查询语句如下
SELECT * FROM hr_perf_forced_distribution_org WHERE UUID IN ( SELECT GROUP_CONCAT(t1.uuid) as uuid FROM hr_perf_forced_distribution_org t1 WHERE t1.corp_id = 26 AND t1.model_id = 1 AND t1.active_id = 5000000278302118 AND t1.org_id NOT IN (7790) )
子查询的查询结果如下

但是意外的是,当我进行整体的查询时,只查出了一条数据

而我将结果直接放入时,结果有三条数据

原因:
子查询中使用GROUP_CONCAT函数作为条件返回,mysql会将结果当成字符串
MySQL GROUP_CONCAT与IN操作问题及find_in_set解决方案

最低0.47元/天 解锁文章
7807

被折叠的 条评论
为什么被折叠?



