0

我有一个使用下面的 SQL 命令的水晶报告。

我想知道是否有人可以帮助我解释为什么我的报告中出现重复的人。

目前,我为销售客户经理 (SAM) 获得了多条线路,我希望每个 SAM 有一条线路。

在此处输入图像描述

我的第一组标题基于扇区代码,第二组标题在 command.sector 上,第三组标题在 SAM 上

在此处输入图像描述

SELECT DISTINCT 
        'Actuals' as [Trans Type],  
        ER101_ACCT_ORDER_DTL.ER101_START_DATE_ISO as [Order Date],
        ER101_ACCT_ORDER_DTL.ER101_ENT_DATE_ISO as [Ent Date],
        year(dateadd(month,6,ER101_ACCT_ORDER_DTL.ER101_START_DATE_ISO)) as [FYR],
        MONTH(DATEADD(M, 6, ER101_ACCT_ORDER_DTL.ER101_START_DATE_ISO)) as [FYP],
        DATEADD(mm, DATEDIFF(mm, 0, ER101_ACCT_ORDER_DTL.ER101_START_DATE_ISO), 0) as [PStart],
        DATEADD (dd, -1, DATEADD(mm, DATEDIFF(mm, 0, ER101_ACCT_ORDER_DTL.ER101_START_DATE_ISO) + 1, 0)) as [Pend],
        Revenue = 
        Case
        When ER101_ACCT_ORDER_DTL.ER101_PHASE = '1' and ER101_ACCT_ORDER_DTL.ER101_COMPL_STS = 'N'
        then ER101_ACCT_ORDER_DTL.ER101_EXT_CHRG 
        When ER101_ACCT_ORDER_DTL.ER101_PHASE = '5' and ER101_ACCT_ORDER_DTL.ER101_COMPL_STS = 'N'
        then ER101_ACCT_ORDER_DTL.ER101_EXT_CHRG 
        Else 0
        End,
        isnull(MM405_USER_NAME,'No SAM') AS [SAM],
        ER101_ACCT_ORDER_DTL.ER101_DESC as [Desc], 
        EV200_EVENT_MASTER.EV200_EVT_ID as [EventID],
        isnull(SALESACCT.EV870_TYPE,'NoSec') as [Sector],
        isnull(CCRPF_ACCT_TYPE_DESC,'ZZ - No Sector') as [Sector Name],
        EV130_STATUS_MASTER.EV130_STATUS_DESC as [Event Status Desc],
        isnull(EV800_USER_FLD_6X,'N') as [Budgeted]
FROM    ER101_ACCT_ORDER_DTL WITH (NOLOCK)  
        LEFT OUTER JOIN EV700_FUNC_MASTER WITH (NOLOCK)
        ON ER101_ACCT_ORDER_DTL.ER101_ORG_CODE = EV700_FUNC_MASTER.EV700_ORG_CODE 
        AND ER101_ACCT_ORDER_DTL.ER101_EVT_ID = EV700_FUNC_MASTER.EV700_EVT_ID 
        AND ER101_ACCT_ORDER_DTL.ER101_FUNC_ID = EV700_FUNC_MASTER.EV700_FUNC_ID 
        LEFT OUTER JOIN EV800_SPACE_MASTER WITH (NOLOCK)
        ON EV700_FUNC_MASTER.EV700_SPACE = EV800_SPACE_MASTER.EV800_SPACE_CODE 
        AND EV700_FUNC_MASTER.EV700_ORG_CODE = EV800_SPACE_MASTER.EV800_ORG_CODE 
        LEFT OUTER JOIN EV200_EVENT_MASTER WITH (NOLOCK)
        ON ER101_ACCT_ORDER_DTL.ER101_ORG_CODE = EV200_EVENT_MASTER.EV200_ORG_CODE 
        AND ER101_ACCT_ORDER_DTL.ER101_EVT_ID = EV200_EVENT_MASTER.EV200_EVT_ID 
        LEFT OUTER JOIN EV870_ACCT_MASTER WITH (NOLOCK)
        ON EV200_EVENT_MASTER.EV200_ORG_CODE = EV870_ACCT_MASTER.EV870_ORG_CODE
        AND EV200_EVENT_MASTER.EV200_SLSPER = EV870_ACCT_MASTER.EV870_ACCT_CODE
        LEFT OUTER JOIN EV870_ACCT_MASTER SALESACCT WITH (NOLOCK)
        ON EV200_EVENT_MASTER.EV200_ORG_CODE = SALESACCT.EV870_ORG_CODE
        AND EV200_EVENT_MASTER.EV200_CUST_NBR = SALESACCT.EV870_ACCT_CODE
        LEFT OUTER JOIN CCRPF_ACCT_TYPES WITH (NOLOCK)
        ON SALESACCT.EV870_TYPE = CCRPF_ACCT_TYPE
        LEFT OUTER JOIN MM405_USER_MASTER_EXT WITH (NOLOCK)
        ON EV870_ACCT_MASTER.EV870_USERID = MM405_USER_MASTER_EXT.MM405_USER_ID
        LEFT OUTER JOIN EV130_STATUS_MASTER WITH (NOLOCK)
        ON EV200_EVENT_MASTER.EV200_EVT_STATUS = EV130_STATUS_MASTER.EV130_STATUS_CODE
       LEFT OUTER JOIN EV370_RES_MASTER WITH (NOLOCK)
       ON ER101_ACCT_ORDER_DTL.ER101_ORG_CODE = EV370_RES_MASTER.EV370_ORG_CODE 
       AND ER101_ACCT_ORDER_DTL.ER101_NEW_RES_TYPE = EV370_RES_MASTER.EV370_NEW_RES_TYPE 
       AND ER101_ACCT_ORDER_DTL.ER101_RES_CODE = EV370_RES_MASTER.EV370_RES_CODE
WHERE       EV200_ORG_CODE = '10' and EV200_EVT_STATUS in ('33', '34', '36', '49','50', '52') and NOT(EV200_EVT_TYPE IN ('MOS','MP','GB'))
            and ER101_RES_CLASS <> '8' and ER101_ORD_TYPE = 'SO'
            and not(EV370_RES_MASTER.EV370_MAJOR_GROUP in ('SRVCHR', 'EBOND', 'SCHARG','GIFTC'))

UNION

Select 'Targets' as [Trans Type],   
        MM012_PERIOD_STDATE as [Order Date],
        GL010_ENT_STAMP as [Ent Date],
        MM012_FISCAL_YR as [FYR],
        MM012_FISCAL_PERIOD as [FYP],
        MM012_PERIOD_STDATE as [PStart],
        MM012_PERIOD_ENDATE as [Pend],
        GL010_BUD_PTD as [Revenue],
        'Budget SAM' as [SAM],
        GL010_ACCOUNT as [Desc],    
        null as [Event ID], 
        GL001_SHORT_DESC as [Sector],
        [Sector Name] = 
        Case 
        When CCRPF_ACCT_TYPE_DESC is null then 'OLD - ' + GL001_DESC
        Else CCRPF_ACCT_TYPE_DESC
        End,
        'Budget Event Status Desc' as [Event Status Desc],
        'Targets' as [Budgeted]       
FROM GL010_BALANCES WITH (NOLOCK) 
        LEFT OUTER JOIN GL001_ACCOUNT_MASTER
        WITH (NOLOCK) ON GL010_ORG_CODE = GL001_ORG_CODE
        AND GL010_ACCOUNT = GL001_ACCOUNT
        LEFT OUTER JOIN MM012_FISCAL_PERIODS
        WITH (NOLOCK) ON GL010_ORG_CODE = MM012_ORG_CODE
        AND GL010_FISCAL_YR = MM012_FISCAL_YR
        AND GL010_FISCAL_PERIOD = MM012_FISCAL_PERIOD
        LEFT OUTER JOIN dbo.CCRPF_ACCT_TYPES
        WITH (NOLOCK) ON GL001_SHORT_DESC = CCRPF_ACCT_TYPE
Where   GL001_ACCT_TYPE = 'SS' and LEFT(GL001_ACCOUNT_MASTER.GL001_ACCOUNT,3)='SEC'
4

0 回答 0