【发布时间】:2018-12-11 08:40:51
【问题描述】:
目前我有一些数据存储在 2 个表 Call_log(“A”供参考)和 PEG_LOG(B 供参考)中。在表 A 中,它存储有关进入我们系统的呼叫的信息,并为每个呼叫提供一个 callID。在表 B 中,它获取呼叫 ID 并为流程中的每个步骤创建一个新行。要获得所有可用数据,我必须对 A 和 B 进行左连接
Select
Call_Log.IVR_CALL_ID AS CallLogCallID,
Call_Log.CALL_START_DTM AS CallStartTime,
Call_Log.CALL_END_DTM AS CallEndTime,
call_Log.XFER_GROUP AS TransferGroup,
Call_Log.DNIS AS DNIS,
Call_log.ANI AS ANI,
Call_log.XFER_NBR AS TransferNumber,
Call_Log.Caller_data_1 AS CallBackNumber,
Call_Log.Caller_data_2 AS UserID,
Call_Log.Caller_data_3 AS CallerData3,
Call_Log.SERVER AS Server,
Call_Log.PBX_ID AS PBXID,
Call_Log.CTI_ID AS CTIID,
Call_Log.APP AS APP,
Call_Log.LANGUAGE AS LANGUAGE,
Call_Log.XFER_APP AS TransferApp,
Call_Log.XFER_PEG AS TransferPeg,
Call_Log.XFER_STATUS AS TransferStatus,
Call_Log.ON_DUTY_FLAG AS OnDutyFlag,
Call_Log.CALL_HANDLED AS CallHandled,
Call_Log.TRANSFERRED AS Transferred,
PEG_LOG.IVR_CALL_ID AS PEGCallID,
PEG_LOG.SEQ_NBR AS SequenceNumber,
PEG_LOG.APP AS PEGApp,
PEG_LOG.TRANSFERRED AS PEGTransferred,
PEG_LOG.PEG AS PEG,
PEG_LOG.PEG_START_DTM AS PEGStart,
PEG_LOG.PEG_END_DTM AS PEGEnd,
PEG_LOG.RESPONSE AS UserResponse,
PEG_LOG.REQUEST AS Request,
PEG_LOG.RESPONSE_STATUS AS RepsonseStatus
From Call_Log
Left join PEG_LOG ON Call_Log.IVR_CALL_ID = PEG_LOG.IVR_CALL_ID
我需要做的是获取通过 Peg 1 的任何 calllogcallID(peg_log.Peg 作为 peg),然后使用这些 calllogids 作为过滤器提取所有数据
因此,如果呼叫 1 通过 peg 1 2 3 4 5 而呼叫 2 通过 peg 2 3 4 5 而呼叫 3 通过 1 3 4 5 那么我将获得呼叫 1 和 3 的所有数据,但不是呼叫 2。
我不能只根据通过 peg 1 的任何通话记录进行过滤,因为我需要存储在附加列中的信息,用于呼叫通过的其他 peg。
这真的超出了我对 SQL 的舒适区,我无法找到解决方案。
【问题讨论】:
标签: sql sql-server tableau-api