| Author | 
                                
                                 Topic  | 
                             
                            
                                    | 
                                         mitasid 
                                        Yak Posting Veteran 
                                         
                                        
                                        51 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2007-01-21 : 20:11:02
                                            
  | 
                                             
                                            
                                            | Hi guys I need to aggregate a table to three different levels but I need the results in a single table. Here is the sample data IndicatorName DHBName PHOName Practice PracticeName Numerator Denominator ABC SAM a PracticeA QW 22500 22.5 BNN SAM b PracticeB SSS 22500 22.5 dddd JONES c PracticeC FFFF 22500 45 ssss Alter d PracticeZ QW 22500 22.5 rrrr Sam a PracticeA FFFF 52500 60 ABC GINI b PracticeA ASDFF 45000 45 BNN Hoe c PracticeD Tahunanui Medical Centre 45000 15 Now I need to group this table first on the dhb level:Query used SELECT     IndicatorName, DHBName,sum( Num),sum( Den)FROM         DHBLevelGROUP BY IndicatorName, DHBName Then group on PHO LevelSELECT     IndicatorName, DHBName, phoname,SUM(Num) AS Expr1, SUM(Den) AS Expr2FROM         DHBLevelGROUP BY IndicatorName, DHBName,phoname Then on Practice LevelSELECT     IndicatorName, DHBName, phoname,practicename,SUM(Num) AS Expr1, SUM(Den) AS Expr2FROM         DHBLevelGROUP BY IndicatorName, DHBName,phoname,practicename.Now I need to see the aggregates in 1 single table only.How shall i do this??Here is the create table scriptUSE [PhoTest]CREATE TABLE [dbo].[performanceOctober]([IndicatorName] [nvarchar](255) COLLATE Latin1_General_CI_AS NULL,[DHBName] [nvarchar](255) COLLATE Latin1_General_CI_AS NULL,[PHOName] [nvarchar](255) COLLATE Latin1_General_CI_AS NULL,[PracticeName] [nvarchar](255) COLLATE Latin1_General_CI_AS NULL,[Numerator] [float] NULL,[Denominator] [float] NULL) ON [PRIMARY] | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     khtan 
                                    In (Som, Ni, Yak) 
                                     
                                    
                                    17689 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2007-01-21 : 20:19:18
                                          
  | 
                                         
                                        
                                          How will be the result looks like ?by the way, you missed out the column Practice in the table script KH  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     mitasid 
                                    Yak Posting Veteran 
                                     
                                    
                                    51 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2007-01-21 : 20:24:25
                                          
  | 
                                         
                                        
                                          | Hi sorry i have missed that.I want my table to look like following:IndicatorName   DHB  PHO   Practice  DHBTotalNum DHbtotalDen   PHOTotalNum  PHOTOTALDen  PracticeTotalNum  PracticetotalDen  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     khtan 
                                    In (Som, Ni, Yak) 
                                     
                                    
                                    17689 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2007-01-21 : 20:33:52
                                          
  | 
                                         
                                        
                                          try this select p.IndicatorName, p.DHBName, p.phoname, p.practicename,       DHBTotalNum      = d.Expr1,       DHBTotalDen      = d.Expr2,       PHOTotalNum      = h.Expr1,       PHOTotalDen      = h.Expr2,       PracticeTotalNum = p.Expr1,       PracticeTotalDen = p.Expr2from(    SELECT   IndicatorName, DHBName, phoname, practicename,             SUM(Num) AS Expr1, SUM(Den) AS Expr2    FROM     DHBLevel    GROUP BY IndicatorName, DHBName,phoname,practicename) pinner join(    SELECT   IndicatorName, DHBName, phoname, SUM(Num) AS Expr1, SUM(Den) AS Expr2    FROM     DHBLevel    GROUP BY IndicatorName, DHBName, phoname) hon  p.IndicatorName = h.IndicatorNameand p.DHBName       = h.DHBNameand p.phoname       = h.phonameinner join(    SELECT   IndicatorName, DHBName, sum( Num) as Expr1, sum( Den) as Expr2    FROM     DHBLevel    GROUP BY IndicatorName, DHBName) don  p.IndicatorName = d.IndicatorNameand p.DHBName       = d.DHBName  KH  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2007-01-22 : 00:46:58
                                          
  | 
                                         
                                        
                                          | GROUP BY ... WITH ROLLUPGROUP BY ... WITH CUBEPeter LarssonHelsingborg, Sweden  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     herothecat 
                                    Starting Member 
                                     
                                    
                                    19 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2007-01-23 : 20:24:32
                                          
  | 
                                         
                                        
                                          | SELECT    IndicatorName, DHBName, PHOName, PracticeName,    Numerator, Denominator,    sum(Numerator)   OVER (PARTITION BY IndicatorName, DHBName) as DHBnumTotal,    sum(Denominator) OVER (PARTITION BY IndicatorName, DHBName) as DHBdenTotal,    sum(Numerator)   OVER (PARTITION BY IndicatorName, DHBName, PHOName) as PHOnumTotal,    sum(Denominator) OVER (PARTITION BY IndicatorName, DHBName, PHOName) as PHOdenTotal,    sum(Numerator)   OVER (PARTITION BY IndicatorName, DHBName, PHOName, PracticeName) as PRCnumTotal,    sum(Denominator) OVER (PARTITION BY IndicatorName, DHBName, PHOName, PracticeName) as PRCdenTotalFROM    performanceOctoberWhy push the envelope when you can just open it?  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |