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  | 
                             
                            
                                    | 
                                         ismailm 
                                        Starting Member 
                                         
                                        
                                        13 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2012-07-17 : 10:18:44
                                            
  | 
                                             
                                            
                                            Hi guys,My first post/thread on this forum, I hope I won't be disappointed!:-)I need help with a SQL query.I have in the same table 1) a Sales record and 2) a Refund record. This is travel data btw.For each record I have a transaction number, which will be the same for both a Sale and Refund record.I also have a Refund Indicator for each record, which says ‘Y’ or ‘N’ or ‘P’ (Part).When there is a refund of a sales transaction, the records (both sale & refund) should be identical in terms of the class travelled etc.For some reason, i have an issue where the class is different for the sale and the refund transaction. But this is not in all cases.What I want the query to do is to bring up only those cases where there is a sale and a refund for the same transaction number BUT the class is different. I don’t want to see instances where the class is the same for both sale and refund.I don't want to copy into excel if I can avoid it!Looking forward to your responses.Thanks!P.S. this is the query I have used, which shows cases where the sale and refund class fields have the same values as well as those that don't have the same value... I need only those that don't have the same values for the same transaction number:quote: SELECT id.transactionnumber, id.refundindicator, id.classFROM dba.table1 ID WITH(NOLOCK),dba.table2 CL WITH(NOLOCK)WHERE(id.column1=cl.column1) AND (cl.column2=id.column2)AND ID.invoicedate between '01-jan-2012' AND '30-jun-2012'AND ID.column1 = 'abc123'and id.transactionnumber in(SELECT id.transactionnumberFROM dba.table1 ID WITH(NOLOCK),dba.table2 CL WITH(NOLOCK)WHERE(id.column1=cl.column1) AND (cl.column2=id.column2)AND ID.invoicedate between '01-jan-2012' AND '30-jun-2012'AND ID.column1 = 'abc123'and id.refundindicator !='n')order by id.transactionnumber 
   | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     visakh16 
                                    Very Important crosS Applying yaK Herder 
                                     
                                    
                                    52326 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-07-17 : 10:31:29
                                          
  | 
                                         
                                        
                                          | [code]SELECT t.*FROM dba.table1 tINNER JOIN(SELECT id.transactionNumberFROM dba.table1 ID WITH(NOLOCK),dba.table2 CL WITH(NOLOCK)WHERE(id.column1=cl.column1) AND (cl.column2=id.column2)AND ID.invoicedate between '01-jan-2012' AND '30-jun-2012'AND ID.column1 = 'abc123'AND id.refundindicater IN ('Y','N')GROUP BY transactionNumberHAVING COUNT(DISTINCT id.class)>1)t1ON t1.transactionNumber = t.transactionNumber[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     ismailm 
                                    Starting Member 
                                     
                                    
                                    13 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-07-18 : 12:06:21
                                          
  | 
                                         
                                        
                                          | Thank you very much visakh16!Exactly what I was looking for!  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     visakh16 
                                    Very Important crosS Applying yaK Herder 
                                     
                                    
                                    52326 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-07-18 : 12:12:02
                                          
  | 
                                         
                                        
                                          | wc------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |