• Why is this part of your code?

    AND ISNULL(TableZ.MyCol,'') + '/' + ISNULL(Table2.MyCol,'') + '/' + ISNULL(Table3.MyCol,'')

    + '/' + ISNULL(Table4.MyCol,'')+ '/' + ISNULL(Table5.MyCol,'') IS NOT NULL

    Using the ISNULL followed by a check that it IS NOT NULL will always evaluate to true. It just extra processing for nothing (unless there's something I'm missing?).