• if you are intending to add rows then use MERGE as Sean suggests.

    If you are only intending to update data then just use UPDATE with a join on the tables.

    some sample code below....but as you say "Table 2 also has the same but latest supplier information and same 24 columns" ...so whats the requirement for Table 1...or is this just homework?

    SELECT TOP 100

    SupplierID = IDENTITY(INT, 1, 1),

    SerialID = CAST(Abs(Checksum(Newid()) % 90000 + 1) AS INT)

    INTO dbo.TAB1

    FROM sys.all_columns ac1

    /* create copy of TAB1 */

    SELECT * INTO TAB2 FROM TAB1

    /* set every 5th supplier serialId to NULL */

    UPDATE TAB1

    SET SerialID = NULL

    WHERE (SupplierID % 5 = 0)

    /*check to see missing matches */

    SELECT TAB1.SupplierID, TAB1.SerialID AS TAB1SID, TAB2.SerialID AS TAB2SID

    FROM TAB1 INNER JOIN

    TAB2 ON TAB1.SupplierID = TAB2.SupplierID

    AND ISNULL(TAB1.SerialID,0) <> TAB2.SerialID

    /* update TAB1 SerialID from TAB2*/

    UPDATE TAB1

    SET SerialID = TAB2.SerialID

    FROM TAB1 INNER JOIN

    TAB2 ON TAB1.SupplierID = TAB2.SupplierID

    WHERE (TAB1.SerialID IS NULL)

    /*check to see missing matches */

    SELECT TAB1.SupplierID, TAB1.SerialID AS TAB1SID, TAB2.SerialID AS TAB2SID

    FROM TAB1 INNER JOIN

    TAB2 ON TAB1.SupplierID = TAB2.SupplierID

    AND ISNULL(TAB1.SerialID,0) <> TAB2.SerialID

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day