It may be because the Code column in tbl1 had a collation that was incompatible with the collation of Code column of tbl2 (which may have had the default collation.) You can see what the collations are using the following queries. SELECT DATABASEPROPERTYEX('YourDatabaseNameHere','Collation')
SELECT collation_name
FROM sys.columns
WHERE OBJECT_NAME(OBJECT_ID) = 'tbl1'
AND name = 'Code';