【发布时间】:2021-08-11 17:42:45
【问题描述】:
我正在尝试运行 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
这会产生预期的结果:
Table Output on the results.
我想显示用户的姓名,但他们在另一个表中。所以,我在这里使用 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 Unknown column 'vicidial_agent_log.user' in 'field list'
但是表存在。
另外,如果我删除代码中的反引号,它会生成此错误:
错误代码:1054 Unknown column 'vicidial_agent_log.user' in 'group statement'
以下是我的两个表及其列的字段:
>vicidial_agent_log 的列:[agent_log_id, user, ...]
>vicidial_users 的列:[user_id, user, pass, full_name, ...]
我想要的输出应该看起来像 https://i.stack.imgur.com/GVeIz.png 只是添加了一个带有名称的列。
这是我的第一个专业项目正在建设中,任何形式的帮助都可以。我一定犯了一个可能很小的初学者错误。我不确定我的逻辑或概念是否有问题。我研究了其他帖子,但它似乎对我不起作用。任何形式的帮助都会大有帮助。
【问题讨论】: