Неявное приведение происходит и по существу обрезает ваши строковые данные, что вызывает совпадение. Вам необходимо явно привести уникальный идентификатор к nvarchar (max).
Пожалуйста, смотрите этот вопрос и ответ.
DECLARE @t1 TABLE([Source] CHAR(1),tableName VARCHAR(10),systemid nvarchar(max))
DECLARE @t2 TABLE([Source] CHAR(1),tableName VARCHAR(10),systemid uniqueidentifier)
INSERT INTO @t1 SELECT 'A','table_1','15b993cc-e8be-405d-bb9f-0c58b66dcdfe_1'
INSERT INTO @t1 SELECT 'B','table_1','4cffe724-3f68-4710-b785-30afde5d52f8_1'
INSERT INTO @t1 SELECT 'C','table_1','7ad22838-ddee-4043-8d1f-6656d2953545_1'
INSERT INTO @t2 SELECT 'Q','table_2','15b993cc-e8be-405d-bb9f-0c58b66dcdfe'
INSERT INTO @t2 SELECT 'R','table_2','4cffe724-3f68-4710-b785-30afde5d52f8'
INSERT INTO @t2 SELECT 'C','table_2','7ad22838-ddee-4043-8d1f-6656d2953545'
select a.Source, a.tableName, a.systemid as a_systemid, b.systemid as b_systemid
from @t1 as a
inner join @t2 as b on a.systemid = CONVERT(NVARCHAR(MAX),b.systemid)
В качестве практики вы всегда должны явным образом приводить несовпадающие типы данных для ясности, а также для предотвращения странного "что происходит?!?!" прочее.