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  | 
                             
                            
                                    | 
                                         sanchoniathon 
                                        Starting Member 
                                         
                                        
                                        2 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2014-12-12 : 10:44:10
                                            
  | 
                                             
                                            
                                            | Hello to all,I need to create a query that updates table as follows:-- tables involved --[Parts][InternationalParts][InternationalSuppliers]-- Important columns --[Parts].[Type][Parts].[InternationPartsID][Parts].[SupplierNumber][Parts].[SupplierName][Parts].[SupplierLongName][InternationalParts].[InternationalPartID][InternationalSupplier].[Name][InternationalSupplier].[LongName][InternationalSupplier].[Number]-- Objective --- I need to find all International Parts from the [Parts] table that are not present in the [InternationalParts]And where the [Parts].[SuppliersName] <> [InternationalSuppliers].[Name] or [Parts].[SuppliersLongName] <> [InternationalSuppliers].[LongName] Then we want to update the [Parts].[SuppliersName] and [Parts].[SuppliersLongName] columns WITH the values respectively from [InternationalSuppliers].[Name] and [InternationalSuppliers].[LongName]that we found. TIPS:to know what are the Parts from the [Parts] table which are International types:[Part].[Type] = 1TIPS: [Parts] and [InternationalParts] are linked with [Parts].[InternationPartsID] = [InternationalParts].[InternalPartID]TIPS: [Parts] and [InternationalSuppliers] are linked with [Parts].[SupplierNumber] = [InternationalSupplier].[Number]===================SQL SOLUTION so far ...===================UPDATE [Parts] SET[Parts].[SupplierName] = [InternationalSupplier].[Name] ,[Parts].[SupplierLongName] = [InternationalSupplier].[LongName]FROM (        SELECT [Parts].[SupplierName], [Parts].[SupplierLongName], [InternationalSupplier].[Name], [InternationalSupplier].[LongName]     from [InternationalSupplier]     INNER JOIN [Parts]     ON [InternationalSupplier].[Number] = [Part].[SupplierNumber]     WHERE [Part].[SupplierName] <> [InternationalSupplier].[ShortName] and		   [Part].[SupplierName] <> [InternationalSupplier].[LongName]     )QUESTION:I'm not sure how to and where to code the other part of the condition which "International Parts from the [Parts] table that ARE NOT PRESENT in the [InternationalParts]"and to know what are the Parts from the [Parts] table which are International types:[Part].[Type] = 1Thanks in advance for any valuable tips ! | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     sanchoniathon 
                                    Starting Member 
                                     
                                    
                                    2 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-12-12 : 13:05:54
                                          
  | 
                                         
                                        
                                          | Hello to everyone, I received the following suggestion from another forum and will test it:First i will check if the logic worksSELECT 	Parts.SuppliersName 	,InternationalSuppliers.Name	,Parts.SuppliersLongName 	,InternationalSuppliers.LongNameFROM 	dbo.Parts 	INNER JOIN dbo.InternationalSupplier ON Parts.InternationPartsID = InternationalParts.InternalPartID WHERE 	Parts.Type = 1 	AND (ISNULL(Parts.SuppliersName, '') <> ISNULL(InternationalSuppliers.Name, '') OR ISNULL(Parts.SuppliersLongName, '') <> ISNULL(InternationalSuppliers.LongName, ''))	AND NOT EXISTS (SELECT 1 FROM dbo.InternationalParts WHERE Parts.InternationPartsID = InternationalPartsThen will actually try the update:UPDATE dbo.Parts SET 	SuppliersName = (CASE WHEN ISNULL(SuppliersName, '') <> ISNULL(InternationalSuppliers.Name, '') THEN ISNULL(InternationalSuppliers.Name, '') END) 	,SuppliersLongName = (CASE WHEN ISNULL(Parts.SuppliersLongName, '') <> ISNULL(InternationalSuppliers.LongName, '') THEN ISNULL(InternationalSuppliers.LongName, '') END) FROM 	dbo.Parts 	INNER JOIN dbo.InternationalSupplier ON Parts.InternationPartsID = InternationalParts.InternalPartID WHERE 	Parts.Type = 1 	AND (ISNULL(Parts.SuppliersName, '') <> ISNULL(InternationalSuppliers.Name, '') OR ISNULL(Parts.SuppliersLongName, '') <> ISNULL(InternationalSuppliers.LongName, ''))	AND NOT EXISTS (SELECT 1 FROM dbo.InternationalParts WHERE Parts.InternationPartsID = InternationalParts.InternationalPartID)   | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |