PID that I looking for is present in both the tables.
Что-то в них должно быть другим, даже когда вы убираете пробелы.
PID is varchar and PIDD is nvarchar
Любой шанс, что PIDD имеет некоторые символы, которые похожи друг на друга, но на самом деле это не тот же набор символов, например, '& `?
Что происходит, когда вы запрашиваете PIDD, используя значение, возвращаемое из PID? Возвращено ли значение? Что нужно изменить, чтобы заставить его возвращать искомое значение.
В отдельном примечании ваша производительность будет ужасной, если вам придётся соединять ваши значения с помощью ltrim / rtrim. ltrim(rTRIM(a.PID)) = ltrim(rtrim(c.PIDD)))
Требуется сканирование таблицы / индекса независимо от того, какие индексы в таблице.