mysql left join多个表未正确连接

eqoofvh9  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(194)

我正在尝试使用多个链接的左连接来填充select查询中的字段,但是我不能完全正确地获得逻辑。我有以下表格:

CREATE TABLE `tasks` (
  `id` int(11) NOT NULL,
  `ticket_id` int(11) NOT NULL,
  `group_id` bigint(20) DEFAULT NULL,
  `title` varchar(150) DEFAULT NULL,
  `due_date` datetime DEFAULT NULL,
  PRIMARY KEY (`id`))

CREATE TABLE `role_group` (
  `role_id` int(10) NOT NULL,
  `group_id` varchar(45) NOT NULL)

CREATE TABLE `role` (
  `id` int(11) NOT NULL,
  `name` varchar(45) NOT NULL,
  PRIMARY KEY (`id`))

我要返回组id与中的记录匹配的所有记录的角色名称 role_group 但是 NULL 否则。
我目前的查询如下:

SELECT 
  t.id,
  t.group_id,
  t.title,
  t.due_date,
  r.name
FROM 
  tasks t
LEFT JOIN 
  role_group rg ON t.group_id = rg.group_id
LEFT JOIN 
  role r ON r.id = rg.role_id;

此时查询刚刚返回 NULLrole.name 不管是否有匹配的记录。
编辑:这是一个小学生的错误-没有匹配的记录 role_group 为了记录在 tasks . 很抱歉在这件事上浪费了撰稿人的时间。不确定是否应该删除,还是?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题