有没有办法在结果中显示 agent_call
以包含 agent_call IN ('Agent1', 'Agent2', 'Agent3', 'Agent4') 中的所有内容
例如,结果只找到agent_call
Agent2和Agent4有相关数据,其他没有匹配的agent应该为空。
SELECT monitoring_session.id, session_date, agent_call, Count(*) AS total
FROM `monitoring_session`
JOIN monitoring_campaign ON monitoring_campaign.id = monitoring_session.monitoring_campaign_id
WHERE agent_call IN ('Agent1', 'Agent2', 'Agent3', 'Agent4')
GROUP BY Date(session_date), agent_call
最佳答案
如果您想获得结果,即使连接不返回任何内容,您也需要使用 LEFT JOIN。
试试这个:
SELECT monitoring_session.id, session_date, agent_call, Count(*) AS total
FROM `monitoring_session`
LEFT JOIN monitoring_campaign ON monitoring_campaign.id = monitoring_session.monitoring_campaign_id
WHERE agent_call IN ('Agent1', 'Agent2', 'Agent3', 'Agent4')
GROUP BY Date(session_date), agent_call
关于mysql - 即使没有找到也显示代理名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33670218/