Adding field constraints on child tables based on parent table
A CHECK constraint can only reference the table or column it's attached to. You'll have to validate the values as part of the query that's inserting into the referencing table. Something like this: 

DECLARE @Cost INT
DECLARE @PersonID INT

INSERT INTO ChildTable
        ( cost,person )
SELECT @Cost
       ,@PersonID
FROM ParentTable PT
WHERE pt.id = @PersonID
      AND ((SELECT SUM(cost) FROM ChildTable CT WHERE CT.id = PT.id) + @Cost) &lt; PT.money


You could also create a DELETE trigger that queries the other table and immediately removes the row if it fails the criteria. However that is a very sub-optimal choice.