SUMIF should do the trick.
Assuming the Category column is column C, the Purchases... column is column D, and these are both on a Table named "Main", place the formula below in the cell (on your Totals table) as shown. Note that the totals calculated are for rows where Category matches the value in the cell to the left of the Total cell:
Totals::B2: =SUMIF(Main :: C,A2,Main :: D)
To eliminate the 0.00 in cells where no category has been named, you can add this to the formula:
Totals::B2: =IF(LEN(A)<1,"",SUMIF(Main :: C,A2,Main :: D))
(original formula shown in Bold, added parts in regular.
Assuming Category is in column B (can't tell from screenshot) you could do something like this:
My source table is 'Table 1-1'. Yours would be different.
The formula is:
= SUMIF('Table 1-1'::B,A4,'Table 1-1'::C)
It says add up all values it finds in column C of the source table where the value in the Category column of the source table is the same as the value in A4 of the Summary table.