"The method works if the artificial table created contains exactly the same weeks as the actual sales file"
of course, otherwise it's impossible to merge. that's why you shoud use the trim() function.
if you don't know exactly the name of the future weeks, then just create an artificial table until the last week you use.
before to post, I used your data set and received no problem with merge / full outer join.
so, tell me the way to post my stream and I'll do it...