2012-10-31 145 views
0

我有一個獲取特定信息的過程。我已經添加了一個字段來獲取賬號數量。爲此,我使用了「Count」聚合函數。現在,由於Count已經被添加到它,它也應該有一個功能組。我嘗試添加Group By,但無法找到使用Group By with Dynamic SQL的確切語法。下面是使用的程序查詢:如何在Sql Server中使用Group By與動態SQL查詢

DECLARE @SQL nvarchar(max),@paramlist nvarchar(max) 
SELECT @SQL = 'SELECT awt.AcctID, MIN(CAST(awt.autoEnter AS SMALLINT)) AS AutoApproved     
FROM dbo.AccountWorkflowTask awt JOIN dbo.WorkflowTask wt ON awt.WorkflowTaskID = wt.WorkflowTaskID     
WHERE (wt.TaskID IN (9, 17) AND ReasonIDExit = 1)' 

SELECT @[email protected]+')) '          
SELECT @[email protected]+'SELECT a.ApplID, acct.AcctID, acct.dtApplication, ai.FName, ai.MName, ai.LName, ai.SSN, a.Email, ao.CompanyName,'     
SELECT @[email protected]+'ao.DBAName, ao.TaxID, acct.AcctNum, acct.AcctAffinityNum, luA.AffinityNum, luA.AffinityName, t.TaskDesc, awt.dtEnter, 
Count(DMA.AcctNum) As NoOfAccounts FROM dbo.Applicant a JOIN dbo.APPLICANTACCOUNT aa ON a.ApplID = aa.ApplID' 

JOIN 'TO SOME TABLE' 

WHERE 'Some Condition' 

現在我想以獲得NoOfAccounts計數用來Group By子句。我無法獲得它的語法。任何幫助將不勝感激。

+1

1.爲什麼需要動態SQL?在這裏看起來不像2.你需要所有的當前數據以及COUNT嗎?或者只是COUNT? – gbn

+0

我需要所有的數據以及數量 – Yash

回答

1

基於您的評論,你不要,如果你使用OVER clause

使用這個代替

Count(DMA.AcctNum) OVER() AS NoOfAccounts 
0

我得到的回答我的問題需要一個GROUP BY。我必須在Dynamic Sql中使用Group By,如下所示:

SELECT @[email protected]+ ' GROUP BY a.ApplID, acct.AcctID, acct.dtApplication, ai.FName, ai.MName, ai.LName, ai.SSN, a.Email, ao.CompanyName,     
ao.DBAName, ao.TaxID, acct.AcctNum, acct.AcctAffinityNum, luA.AffinityNum, luA.AffinityName, t.TaskDesc,     
awt.dtEnter, q.QueueDesc, w.WorkflowID, w.WorkflowDesc,     
luO.OriginationID, luO.OriginationDesc, aco.dtCheckOut, aco.UserCheckOut, aco.GUIDCheckout, lts.TaskStageDesc,     
acct.dtApplication,cteAge.Age, asa.SOAApplID, w.WorkflowID, luO.OriginationID, awt.userEnter, cteAutoApprove.AutoApproved,   
acctLam.Market, ful.Request, fun.SourceAccountTypeDescription, fun.FundingStatus, acct.BrokerCode,    
    ai.SSN, ao.TAXID, bup.BusPurposeDesc, ao.BusPurposeOther,        
    note.Note, note.NoteReasonDesc, note.ReasonCode, aa.RelationshipCode, luRel.RelationshipCodeDesc, Addr.Address1, Addr.Address2, 
    Addr.City, Addr.State, Addr.Zip'