可以使用递归查询来实现查询角色的子级角色,包括子级的子级。
具体查询语句如下:
WITH RECURSIVE subquery AS ( SELECT id, parent_id FROM roles WHERE parent_id IN (...) UNION SELECT a.id, a.parent_id FROM roles a, subquery b WHERE a.parent_id = b.id ) SELECT * FROM subquery;
其中 "..." 是要查询子级角色的角色的 id 列表。
这段语句使用了 MySQL 的递归查询语法。首先,它选