Here is some "pseudo" code to hopefully get you started...
/* Check if QVD exists, if not load all history from DB */
IF FileTime(YourQVD.qvd)>0 THEN
/* Load last 3 days from DB */
LET vMinDate = date(today()-3);
WHERE YourDateField >= $(vMinDate);
/* Load only things not updated from QVD */
WHERE not exists(YourKeyField);
/* Load everything from database */
STORE * FROM YourTable INTO YourQVD.qvd (qvd);
This works fine for my first case of only adding the new records, however how do I deal with records that need to be overwritten? In this case you could imagine my key of SKU&Day would exist in the stored QVD already but the Qty would be different and therefore I would need to take this record and add it into my stored QVD and ensure the old record is overwritten with the new one.