fork download
  1. CREATE TABLE person (
  2. id int,
  3. name varchar(20),
  4. sale int,
  5. commission int
  6. );
  7.  
  8. CREATE TABLE sale (
  9. id int,
  10. `date` date,
  11. person_id int,
  12. sale int,
  13. commission int
  14. );
  15.  
  16. INSERT INTO person VALUES (1, 'abc', 0, 0), (2, 'xyz', 0, 0);
  17.  
  18. INSERT INTO sale VALUES
  19. (1, '2016-05-01', 1, 10, 1),
  20. (2, '2016-05-02', 1, 10, 1),
  21. (3, '2016-05-03', 1, 10, 1),
  22. (4, '2016-05-01', 2, 20, 2),
  23. (5, '2016-05-02', 2, 20, 2),
  24. (6, '2016-05-01', 2, 20, 2);
  25.  
  26. UPDATE person SET
  27. sale = (
  28. SELECT SUM(s.sale) FROM sale s
  29. WHERE s.person_id = person.id
  30. ),
  31. commission = (
  32. SELECT SUM(s.commission) FROM sale s
  33. WHERE s.person_id = person.id
  34. );
  35.  
  36. SELECT * FROM person;
  37.  
  38. SELECT * FROM sale;
  39.  
Success #stdin #stdout 0s 3440KB
stdin
Standard input is empty
stdout
1|abc|30|3
2|xyz|60|6
1|2016-05-01|1|10|1
2|2016-05-02|1|10|1
3|2016-05-03|1|10|1
4|2016-05-01|2|20|2
5|2016-05-02|2|20|2
6|2016-05-01|2|20|2