是否有任何可能的方法将 group_concat 的结果放在 SQL 查询的 IN 条件中。
在网络主表中,我在industryId 列中有逗号分隔的字段。
喜欢,
userId industryId
123 3831
123 2832,3832
123 3833
例子:
它给了我这种类型的输出 3831,2832,3832,3833
我使用上查询得到了这种类型的输出,
userId industryId
123 3831,2832,3832,3833
现在我做了这些事情,
在这个查询结果中,我只得到了industryId=3831 的详细信息输出。我没有得到其他 Ids 输出。
我需要此查询中的所有industryId 输出。我如何在 mysql 中实现这些。
任何帮助,将不胜感激。
最佳答案
我已经尝试过上述案例,但没有在我身边工作。我刚刚编辑了上面的答案并删除了 > 0 然后我可以看到您的预期输出。
你可以试试下面的代码吗?
select * from industry_master where find_in_set(industryId, (select group_concat(industryId order by cId SEPARATOR ',')
from network_master where userId = 123 group by userId));
关于mysql - group_concat 结果在 IN 条件下不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49148152/