我正在尝试使用 INNER JOIN 与 WHERE 条件相结合的查询来检索给定 users.id 的“角色”集。但事情出了问题。
我的数据库有四个表:
t_users : id, username, userpass, status, ... t_action: id, id_user, id_role, id_type_role, ... t_role: id, libelle, status t_type_role: id, libelle, status
我的查询:
SELECT U.id AS ID, R.libelle AS ROLE, T.libelle AS TYPE FROM t_user U JOIN t_action A ON A.id_user = U.id JOIN t_type_role T ON T.id = A.id_type_role JOIN t_role R ON R.id = A.id_role WHERE A.id_user = '1' AND R.libelle = 'System'
但是这个查询没有返回任何数据。 (在 phpmyadmin SQL 板上测试。)
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
正如 Akina 在评论部分中已经提到的那样,表“role”中没有“libelle”值,它等于“Système”,正如您上面提到的那样。这就是您没有得到任何输出的原因。将其修复为 MySQL 数据库中的“System”并重试。