Похоже, вам нужны функции окна:
select t.*,
sum(sales) over (partition by cust_id
order by week_date
rows between current row and 7 following
) as sales_8weeks
from t;
Это предполагает, что данные за все недели.Если вы хотите указать диапазон по дате, вы можете сделать это, но точный синтаксис зависит от базы данных.