gpt4 book ai didi

mysql 三表JOIN

转载 作者:行者123 更新时间:2023-11-28 23:30:10 27 4
gpt4 key购买 nike

我的数据库中有 4 个表:

users (id,name)
roles (id,name)
positions (id,name)
position_user (user_id,position_id)
  • 用户与角色之间的关系是一对一的
  • 用户职位之间的关系是多对多

我想获取所有用户的角色名称并列出他们的职位,但我不知道如何构建我的查询。我认为我的查询之一必须是这样的:

SELECT pu.user_id AS user_id, 
group_concat(p.name separator ',') AS list_pos
FROM position_user pu
INNER JOIN positions p
ON p.id = pu.position_id
GROUP BY pu.user_id

另一个必须是这样的:

SELECT users.id, users.first_name, roles.name
FROM users
JOIN roles
ON users.role_id = roles.id

我可以将这两者结合在一个查询中吗?如何结合?

最佳答案

尝试这样的事情并检查 MySQL 文档。

SELECT pu.user_id AS user_id, u.first_name, r.name as rol_name, group_concat(p.name separator ',') AS list_pos
FROM position_user pu
INNER JOIN positions p ON p.id = pu.position_id
INNER JOIN users u ON u.id = pu.uder_id
INNER JOIN roles R ON u.role_id = r.id
GROUP BY pu.user_id, u.first_name, r.name

关于mysql 三表JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com