TABLE1 에는 GROUPED BY 상담원 이름에 대해 매일 상담원이 처음으로 통화 한 시간과 상담원이 마지막으로 통화 한 시간이 포함되어 있습니다.
에이전트 FIRSTCALL LASTCALL A 8/5/2013 10:59 8/5/2013 19:50 A 8/6/2013 11:06 8/6/2013 19:50 B 2013 년 8 월 5 일 10:33 2013 년 8 월 5 일 10:35 C 2013/8/5 10:04 2013/8/5 9:56 C 2013/8/6 10:02 2013/8/6 9:47 D 8/5/2013 10:37 8/5/2013 18:47 D 2013/8/6 14:58 2013/8/6 18:19 D 2013/8/6 10:01 2013/8/6 9:59 E 8/5/2013 12:29 8/5/2013 18:51 E 8/6/2013 12:05 8/6/2013 18:48 F 8/6/2013 11:15 8/6/2013 19:49 G 8/5/2013 10:04 8/5/2013 10:09 G 8/6/2013 10:39 8/6/2013 9:54
TABLE2 는 에이전트 이름과 해당 에이전트에 대한 일일 로그인 및 로그 아웃 시간으로 구성됩니다.
상담원 로그인 로그 아웃 A 2013-08-05 11:02:52 2013-08-05 20:05:45 A 2013-08-06 11:00:30 2013-08-06 20:06:47 비 2013-08-05 08:59:07 2013-08-05 18:01:58 비 2013-08-06 09:11:43 2013-08-06 18:08:49 C 2013-08-05 08:58:21 2013-08-05 17:59:29 C 2013-08-06 08:59:13 2013-08-06 18:03:53 D 2013-08-05 10:37:55 2013-08-05 19:56:20 D 2013-08-06 10:37:04 2013-08-06 20:00:43 E 2013-08-06 09:20:50 2013-08-06 18:00:35 F 2013-08-05 10:58:06 2013-08-05 20:00:24 F 2013-08-06 10:49:19 2013-08-06 20:01:37 지 2013-08-06 11:00:17 2013-08-06 19:58:31 고 2013-08-05 09:00:38 2013-08-05 18:16:16 고 2013-08-06 08:56:38 2013-08-06 17:57:00
매일 AGENT, FIRSTCALL, LASTCALL, LOGIN, LOGOUT을받는 방식으로 이러한 테이블을 조인해야합니다. 위의 예에서는 2 일 동안 만 데이터를 나열했지만 데이터가 2 년 이상 (> 700 일) 존재합니다.
이전에는 'AGENT'를 통해 이러한 테이블을 연결하려고 시도했지만 그 결과 여러 레코드가 생성되었습니다. 탈출구는 무엇입니까?
이와 같은 것이 작동합니다. 타임 스탬프를 날짜로 변환하는 더 좋은 방법이있을 수 있습니다.
select T1.AGENT, T1.FIRSTCALL, T1.LASTCALL, T2.LOGIN, T2.LOGOUT
from Table1 T1
inner join Table2 T2 on
T2.AGENT = T1.AGENT and
to_char(T1.FIRSTCALL, 'YYYYMMDD') = to_char(T2.LOGIN, 'YYYYMMDD')
예제와 함께 SQL 바이올린 참조
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다