The only correct answer is not to join columns with null values. This can lead to unwanted behaviour very quickly.
e.g. isnull(b.colId,''): What happens if you have empty strings in your data? The join maybe duplicate rows which I guess is not intended in this case.