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  | 
                             
                            
                                    | 
                                         robertnzana 
                                        Starting Member 
                                         
                                        
                                        42 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2008-05-20 : 09:45:49
                                            
  | 
                                             
                                            
                                            I have 2 tables - [Emergency Roster USGS 2008-10] and [dbo_tblUSGSManaagers]I'm trying to delete everyone in table 1 that is NOT in table 2.I "left join" linked them by 3 fields, basically Name, City and State.When I run the actual query I manually verified a few records and they exist in both tables!  I'm confused.  Here's the query...SELECT [Emergency Roster USGS 2008-10].Org, [Emergency Roster USGS 2008-10].[Org Desc], [Emergency Roster USGS 2008-10].Name, [Emergency Roster USGS 2008-10].[Duty Station City Desc], [Emergency Roster USGS 2008-10].[Duty Station State Desc], dbo_USGSEmployees.EmployeeName, dbo_USGSEmployees.City, dbo_USGSEmployees.StateFROM [Emergency Roster USGS 2008-10] LEFT JOIN dbo_USGSEmployees ON ([Emergency Roster USGS 2008-10].[Duty Station State Desc] = dbo_USGSEmployees.State) AND ([Emergency Roster USGS 2008-10].[Duty Station City Desc] = dbo_USGSEmployees.City) AND ([Emergency Roster USGS 2008-10].[Name] = dbo_USGSEmployees.[EmployeeName])WHERE (((dbo_USGSEmployees.EmployeeName) Is Null) AND ((dbo_USGSEmployees.City) Is Null) AND ((dbo_USGSEmployees.State) Is Null)); For example, "John Smith" from "Jupiter" and "FL", show up in both tables, but he also shows up as "unmatched".  Please help me. This is urgent. | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2008-05-20 : 09:58:32
                                          
  | 
                                         
                                        
                                          This is your querySELECT		[Emergency Roster USGS 2008-10].Org,		[Emergency Roster USGS 2008-10].[Org Desc],		[Emergency Roster USGS 2008-10].Name,		[Emergency Roster USGS 2008-10].[Duty Station City Desc],		[Emergency Roster USGS 2008-10].[Duty Station State Desc],		dbo_USGSEmployees.EmployeeName, dbo_USGSEmployees.City,		dbo_USGSEmployees.StateFROM		[Emergency Roster USGS 2008-10]LEFT JOIN	dbo_USGSEmployees ON dbo_USGSEmployees.State = [Emergency Roster USGS 2008-10].[Duty Station State Desc]			AND dbo_USGSEmployees.City = [Emergency Roster USGS 2008-10].[Duty Station City Desc]			AND dbo_USGSEmployees.[EmployeeName] = [Emergency Roster USGS 2008-10].[Name]WHERE		dbo_USGSEmployees.EmployeeName IS NULL		AND dbo_USGSEmployees.City IS NULL		AND dbo_USGSEmployees.State IS NULL If you tell the query to only pick the records from dbo_USGSEmployees where State, City and EmployeeName IS NULL and then JOIN the records where these columns are NULL, what do you expect? E 12°55'05.25"N 56°04'39.16"  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     robertnzana 
                                    Starting Member 
                                     
                                    
                                    42 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2008-05-20 : 10:31:45
                                          
  | 
                                         
                                        
                                          | I was trying to say "SELECT all records from [Emergency Roster USGS 2008-10] that are NOT in the dbo_USGSEmployees table."  Isn't this correct???  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     robertnzana 
                                    Starting Member 
                                     
                                    
                                    42 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2008-05-20 : 10:40:50
                                          
  | 
                                         
                                        
                                          Sorry, but let me back up...I'm actually trying to do this...SELECT dbo_USGSEmployees.*FROM [Emergency Roster USGS 2008-10] RIGHT JOIN dbo_USGSEmployees ON ([Emergency Roster USGS 2008-10].[Duty Station City Desc] = dbo_USGSEmployees.City) AND ([Emergency Roster USGS 2008-10].[Duty Station State Desc] = dbo_USGSEmployees.State) AND ([Emergency Roster USGS 2008-10].Name = dbo_USGSEmployees.EmployeeName)WHERE ((([Emergency Roster USGS 2008-10].Name) Is Null)); I want everyone in dbo_USGSEmployees that DOES NOT APPEAR in [Emergency Roster USGS 2008-10].  When I run the query though I hand verify the records that appear and they ARE in BOTH tables.My only thought is this: The [Emergency Roster USGS 2008-10] table was IMPORTED from an EXCEL spreadsheet.  I noticed that all "wierd records" had a "city" that was blank/null/etc...  Perhaps the data is being handled differently?Does that make sense?  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2008-05-20 : 14:38:23
                                          
  | 
                                         
                                        
                                          Yes, it is correct. I was just baffled by the multiple IS NULL checks.SELECT		[Emergency Roster USGS 2008-10].Org,		[Emergency Roster USGS 2008-10].[Org Desc],		[Emergency Roster USGS 2008-10].Name,		[Emergency Roster USGS 2008-10].[Duty Station City Desc],		[Emergency Roster USGS 2008-10].[Duty Station State Desc],		dbo_USGSEmployees.EmployeeName, dbo_USGSEmployees.City,		dbo_USGSEmployees.StateFROM		[Emergency Roster USGS 2008-10]LEFT JOIN	dbo_USGSEmployees ON dbo_USGSEmployees.State = [Emergency Roster USGS 2008-10].[Duty Station State Desc]			AND dbo_USGSEmployees.City = [Emergency Roster USGS 2008-10].[Duty Station City Desc]			AND dbo_USGSEmployees.[EmployeeName] = [Emergency Roster USGS 2008-10].[Name]WHERE		dbo_USGSEmployees.EmployeeName IS NULL  E 12°55'05.25"N 56°04'39.16"  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |