Access 2007左连接不起作用

时间:2012-06-04 15:04:55

标签: sql ms-access join

我有2张桌子。表1是tbl_DaysWeeksMonths,每个日期有一行,它对应的周结束日期和日历月。表2是tbl_CallStats,它显示每个代理每天一条记录及其相应的呼叫计数和统计数据等。并非所有顾问都有一周中每天的记录。

左边是表1(tbl_DaysWeeksMonths),其中包含Date,Week Ending,Month列。右边是表2(tbl_CallStats),其中包含row_date,agent,logid,total calls,talk time列。

我想将tbl_CallStats链接到tbl_DaysWeeksMonths,以便为每个代理显示日期记录(基于tbl_DaysWeeksMonths),即使他们没有在特定日期接听电话。

我尝试过进行左连接但它仍然只显示进行调用的日期的记录。我觉得我在这里缺少一些简单的东西。请帮忙。

SELECT Date,[Week Ending],tbl_CallStats.agent
FROM tbl_DaysWeeksMonths
LEFT JOIN tbl_CallStats
ON tbl_DaysWeeksMonths.Date = tbl_CallStats.row_date
GROUP BY Date, Week, agent

1 个答案:

答案 0 :(得分:0)

此查询获取所有日期,并应显示tbl_CallStats中的所有代理程序调用。这考虑到每天和代理商在tbl_CallStats中总会有一行。

"select tbl_DaysWeeksMonths.Date, tbl_DaysWeeksMonths.WeekEnding, tbl_DaysWeeksMonths.Month, 
tbl_CallStats.agent, tbl_CallStats.logid, tbl_CallStats.totalcalls, tbl_CallStats.talktime
from tbl_DaysWeeksMonths
left join tbl_CallStats on tbl_CallStats.row_date = tbl_DaysWeeksMonths.Date
group by tbl_CallStats.agent, tbl_DaysWeeksMonths.Date "

如果您在没有呼叫时根本没有tbl_CallStats中的记录,也许您可​​以为代理商提供另一个表并获取与他们相关的值,例如,选择每天加入所有代理商的所有日期并离开加入callstats ......