|
hizakemi
Starting Member
33 Posts |
Posted - 2006-03-15 : 12:20:09
|
| Hi, Guys. I have union queries (see the attachment). I would like to bring only duplicate ACCT (and keep all the fields from union query)- after the union query is done. Any suggestion?ThkDECLARE @STARTDATE datetimeDECLARE @ENDDATE datetimeSET @STARTDATE = '3/7/2006'SET @ENDDATE = '3/8/2006'SELECT T.[BANK NUMBER], T.[ACCT], LEFT(T.[SERIAL NUMBER], 8) [SERIAL NUMBER], T.[ACCT], CONVERT(NUMERIC(16,2),T.[ITEM AMOUNT]) [ITEM AMOUNT], T.[DEPARTMENT NAME], T.[POSTING DATE], T.[PLACEMENT DATE], T.[RELEASE DATE], T.[ACCT], T.[BANK NUMBER], T.[ITEM AMOUNT], T.[HOLD AMOUNT], T.[SERIAL NUMBER], T.[DEPARTMENTID], T.[HOLD TYPE], T.[EARLY RELEASE REASON], T.[DRAWEE ACCOUNT]FROM(SELECT D.DepartmentName [DEPARTMENT NAME], ACCT.PostingDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.AccountNumber [DRAWEE ACCOUNT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemASI19Rpt ION (H.ItemID = I.ItemId) JOIN dbo.tbAcctASI19Rpt ACCTON (I.AccountId = ACCT.AccountId) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @startdate and @enddate) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID='2') AND (H.HoldTypeID IN ('3', '5')) AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS =1)GROUP BY D.DepartmentName, ACCT.PostingDate , H.PlacementDate , H.ReleaseDate , ACCT.BankNumber, I.ItemAmount, H.HoldAmount , I.SerialNumber, H.DepartmentID , H.HoldTypeID, H.EarlyReleaseReasonID, I.AccountNumber, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], ACCT.DepositDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.MakerAccountNumber [DRAWEE ACCOUNT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemEARNSRpt ION (H.ItemID = I.ItemID) JOIN dbo.tbAcctEARNSRpt ACCTON (I.AccountID = ACCT.AccountID) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID='8') AND ( (H.HoldTypeID)='3' Or (H.HoldTypeID)='5') AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS = 1)GROUP BY D.DepartmentName , ACCT.DepositDate, H.PlacementDate , H.ReleaseDate, ACCT.BankNumber, I.ItemAmount, H.HoldAmount, I.SerialNumber, H.DepartmentID, H.HoldTypeID, H.EarlyReleaseReasonID, I.MakerAccountNumber, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], ACCT.PostingDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.ItemAccountNumber [DRAWEE ACCOUNT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemMMSRpt ION (H.ItemID = I.ItemId) JOIN dbo.tbAcctMMSRpt ACCTON (I.AccountId = ACCT.AccountId) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID='12') AND ((H.HoldTypeID ='3') Or (H.HoldTypeID='5')) AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS = 1)GROUP BY D.DepartmentName, ACCT.PostingDate, H.PlacementDate, H.ReleaseDate, ACCT.BankNumber, I.ItemAmount, H.HoldAmount, I.SerialNumber , H.DepartmentID , H.HoldTypeID, H.EarlyReleaseReasonID, I.ItemAccountNumber, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], ACCT.PostingDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.itemSerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.ItemAccountNumber [DRAWEE ACCOUNT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemONURpt ION (H.ItemID = I.ItemId) JOIN dbo.tbAcctONURpt ACCTON (I.AccountId = ACCT.AccountId) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID ='13') AND ((H.HoldTypeID='3') Or (H.HoldTypeID='5')) AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS = 1)GROUP BY D.DepartmentName, ACCT.PostingDate, H.PlacementDate, H.ReleaseDate, ACCT.BankNumber, I.ItemAmount, H.HoldAmount, I.ITEMSerialNumber , H.DepartmentID , H.HoldTypeID, H.EarlyReleaseReasonID, I.ItemAccountNumber, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], ACCT.PostingDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.OriginalAccount [DRAWEE ACCOUNT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemPPSRpt ION (H.ItemID = I.ItemId) JOIN dbo.tbAcctPPSRpt ACCTON (I.AccountId = ACCT.AccountId) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID='3') AND ((H.HoldTypeID='3') Or (H.HoldTypeID='5')) AND (H.EarlyReleaseReasonID Is Null) GROUP BY D.DepartmentName, ACCT.PostingDate, H.PlacementDate, H.ReleaseDate, ACCT.BankNumber, I.ItemAmount, H.HoldAmount, I.SerialNumber , H.DepartmentID , H.HoldTypeID, H.EarlyReleaseReasonID, I.OriginalAccount, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], I.DEPOSITDATE [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.OriginalPayorAccount [DRAWEE ACCOUNT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemPPSRIRpt ION (H.ItemID = I.ItemId) JOIN dbo.tbAcctPPSRIRpt ACCTON (I.AccountId = ACCT.AccountId) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID ='10') AND ((H.HoldTypeID='3') Or (H.HoldTypeID='5')) AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS = 1)GROUP BY D.DepartmentName, I.DEPOSITDate, H.PlacementDate, H.ReleaseDate, ACCT.BankNumber, I.ItemAmount, H.HoldAmount, I.SerialNumber , H.DepartmentID , H.HoldTypeID, H.EarlyReleaseReasonID, I.OriginalPayorAccount, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], R.DepositDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.MakerAccountNumber [DRAWEE ACCOUNT] FROM dbo.tbAcctRegCC ACCTJOIN dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemRegCC ION (H.ItemID = I.ItemID) ON (D.DepartmentId = H.DepartmentID) JOIN dbo.tbDepositRegCC RON (I.DepositID = R.DepositID) ON (ACCT.AccountID = R.AccountID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID='7') AND ((H.HoldTypeID='3') Or (H.HoldTypeID='5')) AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS = 1)GROUP BY D.DepartmentName, R.DepositDate, H.PlacementDate, H.ReleaseDate, ACCT.BankNumber, ACCT.AccountNumber, I.ItemAmount, H.HoldAmount, I.SerialNumber, H.DepartmentID, H.HoldTypeID, H.EarlyReleaseReasonID, I.MakerAccountNumber, ACCT.AccountNumberUNION ALLSELECT D.DepartmentName [DEPARTMENT NAME], ACCT.PostingDate [POSTING DATE], H.PlacementDate [PLACEMENT DATE], H.ReleaseDate [RELEASE DATE], ACCT.BankNumber [BANK NUMBER], ACCT.AccountNumber ACCT, I.ItemAmount [ITEM AMOUNT], H.HoldAmount [HOLD AMOUNT], I.SerialNumber [SERIAL NUMBER], H.DepartmentID [DEPARTMENTID], H.HoldTypeID [HOLD TYPE], H.EarlyReleaseReasonID [EARLY RELEASE REASON], I.ItemAccountNumber [DRAWEE ACCOUT]FROM dbo.tbXrefDepartments DJOIN dbo.tbHolds HJOIN dbo.tbItemSAMSRpt ION (H.ItemID = I.ItemId) JOIN dbo.tbAcctSAMSRpt ACCTON (I.AccountId = ACCT.AccountId) ON (D.DepartmentId = H.DepartmentID)WHERE (H.PlacementDate BETWEEN @STARTDATE and @ENDDATE) AND (H.HoldAmount Is Not Null) AND (H.DepartmentID='11') AND ((H.HoldTypeID='3') Or (H.HoldTypeID ='5')) AND (H.EarlyReleaseReasonID Is Null) AND (H.PlacedViaHMS = 1)GROUP BY D.DepartmentName, ACCT.PostingDate, H.PlacementDate, H.ReleaseDate, ACCT.BankNumber, I.ItemAmount, H.HoldAmount, I.SerialNumber, H.DepartmentID, H.HoldTypeID, H.EarlyReleaseReasonID, I.ItemAccountNumber, ACCT.AccountNumber) TGROUP BY-- CONVERT(INT, XD.DEPARTMENTID) DEPARTMENTID, T.[BANK NUMBER], LEFT(T.[SERIAL NUMBER], 8), T.[DEPARTMENT NAME], T.[POSTING DATE], T.[PLACEMENT DATE], T.[RELEASE DATE], T.[BANK NUMBER], T.[ACCT], T.[ITEM AMOUNT], T.[HOLD AMOUNT], T.[SERIAL NUMBER], T.[DEPARTMENTID], T.[HOLD TYPE], T.[EARLY RELEASE REASON], T.[DRAWEE ACCOUNT] |
|