php - mysql 选择用户信息和组类别

标签 php mysql

我正在尝试进行 mysql 搜索,它返回带有分组类别(group_id)的用户信息。我只需要一些帮助来正确地查询:

SELECT a.*, a.name AS editor, a.name AS created_by, b.*, c.* FROM `cm0x8_users` AS a LEFT JOIN cm0x8_users_xref AS b ON b.userid = a.id LEFT JOIN cm0x8_user_usergroup_map AS c ON c.user_id = a.id WHERE (a.block IN (0, 1)) AND c.group_id NOT IN(6,7,8) ORDER BY a.name asc

同一用户返回 3 次(他们位于 3 个不同的组中)。

示例:

id          name          group_id
1           Fred          1
1           Fred          2
1           Fred          3
2           John          1
3           Jane          1
3           Jane          3

但我追求的是:

id          name          group_id
1           Fred          1, 2, 3
2           John          1
3           Jane          1, 3

(或类似)

任何帮助都会很棒!

最佳答案

这似乎给了我预期的结果..

SELECT a.*,a.name AS editor,a.name AS created_by,b.*,group_concat(c.group_id) as gid,c.* FROM `#__users` AS a LEFT JOIN #__users_xref AS b ON b.userid = a.id LEFT JOIN #__user_usergroup_map AS c ON c.user_id = a.id WHERE (a.block IN (0, 1)) AND c.group_id NOT IN(6,7,8) GROUP BY a.id ORDER BY a.name asc

关于php - mysql 选择用户信息和组类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31376818/

相关文章:

php - 查询 PHP 后修改数据库行

python - "group by"或 "uniq"的统计信息

java - java中同时600个不同的sql请求

MySQL 和高级Where 子句

c# - 在 C# 中进行 mysqldump 备份不会检索数据

PHP mysql 查询不计0000-00-00

php - 用于创建缩略图的部分工作功能

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

php - 在foreach循环中插入多个表单数据

mysql - 如何描述sql表中的对象?