排除分组上的几个选定字段

时间:2014-07-29 11:38:37

标签: sql

我有一个返回成员交易信息的查询。此查询具有计算金额的聚合函数。根据其分组,一切正常。现在我需要做的是从不同的表中添加两个列。我确实尝试添加它们,不幸的是它们给了我重复的信息,包含大量的记录。

任何人都可以帮助我,我只希望能够在查询中包含这两个字段,而不是将它们包含在group by子句中。并确保返回的数据不重复

以下是我使用的查询。

DECLARE @LastMonthExtractID Int = 11

SELECT  x.*
    ,lstmnth.Submission ---added 
    ,lm_subt.SubmissionTypeDescription ---added 
FROM    (
SELECT MemberRef --unique key
 , SiteName
 , ChargePeriod
 , SUM(Amount) AS Amount
 , TransactionMap
 , PackageCode

FROM (
  SELECT MemberRef
        , SiteName
        , ChargePeriod
        , Amount
        , PackageCode
        , CASE  WHEN map.TransactionMap = 'JoinFee' AND lstmnth.ChargeDate <> lstmnth.JoinDate THEN 'PayPlan' 
                WHEN map.TransactionMap = 'MemberFee' AND lstmnth.PackageCode LIKE 'PV%' AND lstmnth.SiteID <> 15 THEN 'VitalityMF'  -- must use Package and not CURRENT PACKAGE
                WHEN map.TransactionMap = 'MemberFee' AND lstmnth.PackageCode LIKE 'PV%' AND lstmnth.SiteID = 15  THEN 'PlatVitalityMF' -- PLATINUM
                WHEN map.TransactionMap = 'MemberFee' AND lstmnth.PackageCode LIKE 'Z%' THEN 'ZContract'
                WHEN map.TransactionMap IS NULL THEN 'Other'
                ELSE map.TransactionMap END AS TransactionMap
        --, lstmnth.Submission
        --, lm_subt.SubmissionTypeDescription --added

FROM  dbo.CCX_Billing lstmnth 
LEFT JOIN  dbo.TransactionMap map on lstmnth.TransactionType = map.TransactionType 
                                                AND         lstmnth.TransactionDescription = map.TransactionDescription
                                                AND ISNULL    (lstmnth.AnalysisCode, '') = map.AnalysisCode

 WHERE   lstmnth.ExtractID = @LastMonthExtractID

  ) l
GROUP BY  SiteName, MemberRef, ChargePeriod, PackageCode, TransactionMap
) x
INNER JOIN dbo.CCX_Billing lstmnth ON lstmnth.MemberRef = x.MemberRef
LEFT JOIN  dbo.CCX_Billing_PSubmission lm_sub on lstmnth.SubmissionID = lm_sub.ID
INNER JOIN dbo.CCX_Billing_SubmissionType lm_subt on lm_sub.SubmissionTypeID =     lm_subt.SubmissionID     --added     

0 个答案:

没有答案