0

我有两个表 tbl_DaysWeeksMonths(左表)和 tbl_Telephony(右表)。tbl_DaysWeeksMonths 记录了一年中的每一天,其中包含列 (Row_Date/Week/Month),而 tbl_Telephony 记录了每天数百个座席的电话数据,包含列 (row_date/agent/calls/talk time)(注意:每个座席只有记录一周中的 5-6 天,而不是每天)。

我想加入这两个表,以便每个座席都有一周中每一天的记录,无论他们是否在一天内接听电话。我想显示顾问未接听电话的日期的空白记录(日期字段除外)。例如:

## Date ##           ## Agent ##          ## Calls ##      ## Talk Time ##

 1. 26/05/2012     |     James        |         40       |           560
 2. 27/05/2012     |     James        |                  |
 3. 28/05/2012     |     James        |         34       |           456
 4. 29/05/2012     |     James        |                  |
 5. 30/05/2012     |     James        |         40       |           643
 6. 31/05/2012     |     James        |         36       |           345
 7. 01/06/2012     |     James        |         31       |           160

我正在尝试使用下面的代码,但我认为它不正确。关于更好的代码使用的任何建议。请帮忙。

SELECT tbl_DaysWeeksMonths.Row_Date, 
       [tbl_Telephony].Consultant, 
       [tbl_Telephony].i_acdtime
FROM tbl_DaysWeeksMonths
LEFT JOIN [tbl_Telephony] 
ON tbl_DaysWeeksMonths.Row_Date = [tbl_Telephony].row_date;
4

2 回答 2

0

您也可以使用此查询。

SELECT tbl_DaysWeeksMonths.Row_Date, [tbl_Telephony].Consultant, [tbl_Telephony].i_acdtime

FROM tbl_DaysWeeksMonths

LEFT OUTER JOIN [tbl_Telephony] ON tbl_DaysWeeksMonths.Row_Date = [tbl_Telephony].row_date;
于 2012-06-06T06:31:18.957 回答
0

第 1 步 - 假设您有一个表(例如,named Consultants)列出了每个不同的顾问,创建一个查询(例如,named Consultant Days)来生成天数和顾问的所有可能组合。它可能看起来像这样:

SELECT [Consultants].Consultant, tbl_DaysWeeksMonths.Row_Date
FROM [Consultants], tbl_DaysWeeksMonths;

如果您没有Consultants表格,您可以将其替换为选择 中列出的不同顾问的查询tbl_Telephony。换句话说,您可以创建一个如下所示的Consultants 查询

SELECT DISTINCT Consultant FROM [tbl_Telephony];

第 2 步 - 创建一个外部连接的tbl_Telephony查询Consultant Days。它可能看起来像这样:

SELECT [Consultant Days].Row_Date, [Consultant Days].Consultant, [tbl_Telephony].i_acdtime 
FROM [Consultant Days] 
LEFT JOIN [tbl_Telephony]  
ON [Consultant Days].Consultant = [tbl_Telephony].Consultant 
AND [Consultant Days].Row_Date = [tbl_Telephony].row_date;

这还假设row_datein 中的值与 in中tbl_Telephony的值匹配——换句话说, in 中的值是整天(即,不包含时间组件)。这还假设in 的值是给定顾问和一天的总通话时间(与给定呼叫的通话时间相反)。大概有另一列将给出给定顾问的总呼叫次数和日期,您可以将其添加到查询中以获得您说您想要您的问题的“呼叫”列。Row_Datetbl_DaysWeeksMonthsrow_datetbl_Telephonyi_acdtimetbl_Telephonytbl_Telephony

于 2012-06-06T13:48:25.667 回答