Mysql 错误代码:1054:表存在时“字段列表”中的未知列“表名称。列名称”

Mysql 错误代码:1054:表存在时“字段列表”中的未知列“表名称。列名称”,mysql,sql,join,mariadb,Mysql,Sql,Join,Mariadb,我正在尝试运行mySQL查询从数据库中获取数据。以下是我的疑问: SELECT user, SUM(CASE WHEN sub_status = 'TB' THEN pause_sec END) AS Training_Break, SUM(CASE WHEN sub_status = 'SB1' THEN pause_sec END) AS Short_Break_1, SUM(CASE WHEN sub_status = 'SB2' THEN pause_

我正在尝试运行mySQL查询从数据库中获取数据。以下是我的疑问:

SELECT user,
      SUM(CASE WHEN sub_status = 'TB' THEN pause_sec END) AS Training_Break,
      SUM(CASE WHEN sub_status = 'SB1' THEN pause_sec END) AS Short_Break_1,
      SUM(CASE WHEN sub_status = 'SB2' THEN pause_sec END) AS Short_Break_2,
      SUM(CASE WHEN sub_status = 'LB' THEN pause_sec END) AS Long_Break
FROM vicidial_agent_log
WHERE event_time >= '2021-04-01' AND
      event_time < '2021-04-17' AND
      sub_status IN ('TB', 'SB1', 'SB2', 'LB')
GROUP BY user
HAVING COALESCE(`Training Break`, `Short Break 1`, `Short Break 2`, `Long Break`) IS NOT NULL
这将产生预期的结果: 我想显示用户的姓名,但他们在另一个表中。因此,我在这里使用join,如下所示:


SELECT `vicidial_agent_log.user`,
`vicidial_users.full_name`,
      SUM(CASE WHEN `vicidial_agent_log.sub_status` = 'TB' THEN `vicidial_agent_log.pause_sec` END) AS Training_Break,
      SUM(CASE WHEN `vicidial_agent_log.sub_status` = 'SB1' THEN `vicidial_agent_log.pause_sec` END) AS Short_Break_1,
      SUM(CASE WHEN `vicidial_agent_log.sub_status` = 'SB2' THEN `vicidial_agent_log.pause_sec` END) AS Short_Break_2,
      SUM(CASE WHEN `vicidial_agent_log.sub_status` = 'LB' THEN `vicidial_agent_log.pause_sec` END) AS Long_Break
FROM `vicidial_agent_log`
INNER JOIN `vicidial_users` ON `vicidial_users.user`=`vicidial_agent_log.user`
WHERE `vicidial_agent_log.event_time` >= '2021-04-01' AND
      `vicidial_agent_log.event_time` < '2021-04-17' AND
      `vicidial_agent_log.sub_status` IN ('TB', 'SB1', 'SB2', 'LB')
GROUP BY `vicidial_agent_log.user`
HAVING COALESCE(`Training_Break`, `Short_Break_1`, `Short_Break_2`, `Long_Break`) IS NOT NULL
它会产生以下错误:

错误代码:1054“字段列表”中的未知列“代理日志.用户”

但这张桌子是存在的。 此外,如果我删除代码中的反勾号,则会生成以下错误:

错误代码:1054“组语句”中的未知列“代理日志.用户”

以下是我的两个表及其列的字段: >代理日志的列:[代理日志id,用户,…] >副用户列:[用户id、用户、通行证、全名,] 我想要的输出应该是https://i.stack.imgur.com/GVeIz.png 仅添加一列,列上有名称。
这是我正在建设的第一个专业项目,任何形式的帮助都可以。我一定是犯了一个初学者的小错误。我不确定我的逻辑或概念是否有问题。我已经研究过其他的帖子,但它似乎对我不起作用。任何形式的帮助都会大有帮助。不要逃避你的帮助!并使用别名!我想我在早些时候的回答中提到了这一点。因此:

SELECT al.user, u.full_name,
      SUM(CASE WHEN al.sub_status = 'TB' THEN al.pause_sec  END) AS Training_Break,
      SUM(CASE WHEN al.sub_status = 'SB1' THEN al.pause_sec END) AS Short_Break_1,
      SUM(CASE WHEN al.sub_status = 'SB2' THEN al.pause_sec END) AS Short_Break_2,
      SUM(CASE WHEN al.sub_status = 'LB' THEN al.pause_sec END) AS Long_Break
FROM vicidial_agent_log al JOIN
     vicidial_users u
     ON u.user = al.user
WHERE al.event_time >= '2021-04-01' AND
      al.event_time < '2021-04-17' AND
      al.sub_status IN ('TB', 'SB1', 'SB2', 'LB')
GROUP BY al.user, u.full_name;
指的是具有名称的列名。在里面。你打算:

`vicidial_agent_log`.`user`
但是,当这些都相当于:

vicidial_agent_log.user
或:


定义表别名时。

谢谢,你的解释让它看起来很简单。我绝对不会在我的OneNote文件上添加您的评论。
vicidial_agent_log.user
al.user