2012-10-31 2 views
0

특정 정보를 얻는 절차가 있습니다. 계정 수를 얻는 필드를 추가했습니다. 이를 위해 "Count"집계 함수를 사용했습니다. 이제 Count가 추가되었으므로 기능별 그룹도 있어야합니다. Group By를 추가하려고하는데 Dynamic SQL과 Group By를 사용하는 정확한 구문을 찾을 수 없습니다. 아래 절차를 사용하는 쿼리는 다음과 같습니다 그룹 바이를 SQL Server에서 동적 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 절에 사용하려고합니다. 나는 그것에 대한 구문을 얻을 수 없습니다. 어떤 도움을 주시면 감사하겠습니다. 이 대신

Count(DMA.AcctNum) OVER() AS NoOfAccounts 
+1

1. 왜 동적 SQL이 필요합니까? 그것은 여기처럼 보이지 않습니다 2. COUNT뿐 아니라 현재 데이터가 모두 필요합니까? 아니면 그냥 COUNT? – gbn

+0

나는 모든 데이터와 카운트도 필요로한다. – Yash

답변

1

는 귀하의 의견을 바탕으로, 당신은 GROUP BY가 필요하지 않습니다. 다음과 같이 동적 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' 
0

내 질문에 대한 답을 얻은 OVER clause

사용을 사용하는 경우

관련 문제