in改用find_in_set解决子查询字符串问题

查询出来的只有IN里面的第一个值,因为IN里面的SQL查询出来的是字符串
SELECT
GROUP_CONCAT(c2.id) AS ids,
GROUP_CONCAT(c2. NAME) AS NAMES
FROM
ls_category c2
WHERE
c2.id IN (
SELECT
c1.all_parent_id
FROM
ls_category c1
WHERE
c1.id = 59
);
采用FIND_IN_SET解决当前IN的问题
SELECT
GROUP_CONCAT(c2.id) AS ids,
GROUP_CONCAT(c2. NAME) AS NAMES
FROM
ls_category c2
WHERE
FIND_IN_SET(
c2.id,
(
SELECT
c1.all_parent_id
FROM
ls_category c1
WHERE
c1.id = 59
)
);


版权声明:本文为wdeipeng原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。