Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
nitinnjp
Starting Member
6 Posts |
Posted - 2010-07-29 : 07:17:27
|
i have query of regarding group by,Following is my Queryselect TerritoryName,ClassGrade,IsLoyal,count(IsLoyal) PartyCount,sum(Convert(int,AveragePwgConsumption)) SumavgConssumfrom VerticalPartyMaster vpm inner join TerritoryMaster tmon vpm.TerritoryID=tm.TerritoryIDinner join VerticalDetails vdon vpm.vid=vd.vidinner join ClassMaster cmon cm.ClassID=vd.ClassIDwhere vpm.PartyTypeID=1 or vpm.PartyTypeID=5group by TerritoryName,ClassGrade,IsLoyal,AveragePwgConsumptionit is giving output like thisTerritoyName Classgrade isLoyal parycount SumavgCountnorth A 1 5 200north A 1 2 200East A 1 5 50East A 1 5 200Expected output is likeTerritoyName Classgrade isLoyal parycount SumavgCountnorth A 1 5 200north A 1 2 200north total 400East A 1 5 50East A 1 5 200East total 250(In above TerritoyName,Classgrade,isLoyal,parycount, SumavgCount these are 5 columns.i want sum territoy wise)how can i achieve this please tell me..Thanks in advancenitin patil |
|
Llycas
Starting Member
4 Posts |
Posted - 2010-07-29 : 11:30:18
|
Just had a quick look - kinda busy at the mo.But it appears your problem can be solved by an aggregate function on your Parycount field. Judging by your WHERE clause, a simple MAX(parycount) in your SELECT could solve your problems. |
 |
|
slimt_slimt
Aged Yak Warrior
746 Posts |
Posted - 2010-07-29 : 14:49:58
|
i don't know your database schema or i don't have a sample data, but looking at your query you are grouping columns that are summoned or counted in select list. try this:select TerritoryName,ClassGrade,IsLoyal,count(IsLoyal) PartyCount,sum(Convert(int,AveragePwgConsumption)) SumavgConssumfrom VerticalPartyMaster vpminner join TerritoryMaster tmon vpm.TerritoryID=tm.TerritoryIDinner join VerticalDetails vdon vpm.vid=vd.vidinner join ClassMaster cmon cm.ClassID=vd.ClassIDwherevpm.PartyTypeID=1 or vpm.PartyTypeID=5group by TerritoryName,ClassGrade,IsLoyal |
 |
|
|
|
|
|
|