简体   繁体   中英

SQL Server 2008 Issue With GROUP BY

SELECT     
  ETRN_MFTransactionGroup.FolioNumber,
  ETRN_MFTransactionGroup.PrimaryApplicantContactID,
  ETRN_MFTransaction.PK_TransactionGroupID AS Expr1, 
  ETRN_MFTransaction.PK_SchemeProductID,
  ETRN_MFTransaction.Units,
  PA_E_CUSTOMER.dbo.ECUS_Contact.PK_ContactID, 
  PA_E_CUSTOMER.dbo.ECUS_Contact.UserID,
  PA_E_CUSTOMER.dbo.ECUS_Contact.FName,
  PA_E_CUSTOMER.dbo.ECUS_Contact.MName, 
  PA_E_CUSTOMER.dbo.ECUS_Contact.LName,     
  PA_E_INSTRUMENTS.dbo.EINS_MFSchemeProduct.PK_SchemeProductID AS Expr2, 
  PA_E_INSTRUMENTS.dbo.EINS_MFSchemeProduct.RegistrarCode, 
  ETRN_MFTransactionGroup.PK_TransactionGroupID
FROM
  ETRN_MFTransactionGroup 
INNER JOIN
  ETRN_MFTransaction ON
  ETRN_MFTransactionGroup.PK_TransactionGroupID =  ETRN_MFTransaction.PK_TransactionGroupID
 INNER JOIN
   PA_E_CUSTOMER.dbo.ECUS_Contact ON           
     ETRN_MFTransactionGroup.PrimaryApplicantContactID =                     
      PA_E_CUSTOMER.dbo.ECUS_Contact.PK_ContactID
 INNER JOIN
   PA_E_INSTRUMENTS.dbo.EINS_MFSchemeProduct ON 
     ETRN_MFTransaction.PK_SchemeProductID = 
         PA_E_INSTRUMENTS.dbo.EINS_MFSchemeProduct.PK_SchemeProductID
**GROUP BY
    ETRN_MFTransactionGroup.FolioNumber,**
    ETRN_MFTransactionGroup.PrimaryApplicantContactID,                  
    ETRN_MFTransaction.PK_TransactionGroupID,
    ETRN_MFTransaction.PK_SchemeProductID,
    ETRN_MFTransaction.Units,
    PA_E_CUSTOMER.dbo.ECUS_Contact.PK_ContactID, 
    PA_E_CUSTOMER.dbo.ECUS_Contact.UserID,
    PA_E_CUSTOMER.dbo.ECUS_Contact.FName,
    PA_E_CUSTOMER.dbo.ECUS_Contact.MName, 
    PA_E_CUSTOMER.dbo.ECUS_Contact.LName, 
    PA_E_INSTRUMENTS.dbo.EINS_MFSchemeProduct.PK_SchemeProductID, 
    PA_E_INSTRUMENTS.dbo.EINS_MFSchemeProduct.RegistrarCode,  
    ETRN_MFTransactionGroup.PK_TransactionGroupID

The query above works absolutely fine but i need to group only by FolioNumber (ie - ETRN_MFTransactionGroup.FolioNumber). Grouping by rest of the fields not required at all!

If you don't want to group on the other fields, you need some aggregate function to tell SQL how to treat the multiple records. MAX, or MIN work well for varchar fields. SUM, AVERAGE work well for numerics.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM