There are a couple of considerations to answer your question. The easy answer is you can simply ad a null filter at the end of your script such as:
Where not isnullI(Sum(Sales)) ;
This would work because you have the same null records in both data set.
I think the broader point that was being made before is why are you trying to do a join? Just simply for YoY so that you can do a simple calc such as YR2013 - YR2014?
To the point made earlier, if this is the case you don‘t need to do a Join. You can simply use the Concatenate statement and this will function like a UNION since your data is the same. Note: however in your example you would be concatenating the same table. If this was just for example pupose and you actually have two separate sets this approach makes sense, if not all you need to do is flag your data as current year and prior year etc. Here is an example of how to setup a Master Calendar: Creating A Master Calendar
If you use this approach instead, you can flag your data and easily compare two years, then you don’t have to worry about extra rows and mismatch joins and many other problems that can come from trying to get Qlik to behave like SQL.