Thanks Iker,
I actually got round the prob by putting an index on INVSwitchTransvalidtbl.JobID. Not exactly sure why this was required, it still should have run without the index, albeit slowly. The JobID datatype is uniquidentifier, perhaps it was a quirk of that datatype.
Re the the JOIN...