At Redgate, we sometimes owe each other beers for mistakes or insults rendered to another. I've got a table with a number of items being tracked.
Since we need to settle up tonight, who is owed the most net beer (owed - owes)?
WITH myBeers AS (SELECT OwedTo, OwedBy, EarnedDate, Beer FROM ( VALUES ('Bart','Steve', '2017-01-25', 4),
('Bart','Andrew', '2017-01-28', 2),
('Andrew','Rob', '2017-08-20', 1),
('Bart','Andrew', '2017-05-08', 2),
('Ally','Tony', '2017-02-05', 2),
('Tugberk','Dave', '2017-05-28', 2),
('Dave','Tugberk', '2017-06-17', 3),
('Bart','Steve', '2017-02-18', 4),
('Bart','Andrew', '2017-06-19', 2),
('Tugberk','Dave', '2017-08-17', 2),
('Tony','Bart', '2017-01-29', 3),
('Andrew','Rob', '2017-08-10', 1),
('Tugberk','Bart', '2017-04-12', 3),
('Bart','Steve', '2017-05-11', 4),
('Bart','Steve', '2017-03-28', 4),
('Andrew','Rob', '2017-02-06', 1),
('Tony','Bart', '2017-04-26', 3),
('Tugberk','Bart', '2017-03-01', 3),
('Rob','Ally', '2017-08-29', 1),
('Bart','Steve', '2017-03-02', 4),
('Rob','Ally', '2017-09-02', 1),
('Bart','Steve', '2017-03-09', 4),
('Ally','Tony', '2017-08-06', 3),
('Bart','Andrew', '2017-06-01', 2),
('Bart','Steve', '2017-05-12', 4),
('Andrew','Rob', '2017-06-02', 1),
('Dave','Tugberk', '2017-03-15', 3),
('Dave','Tugberk', '2017-04-11', 3),
('Tugberk','Bart', '2017-04-10', 3),
('Tugberk','Bart', '2017-06-29', 4),
('Dave','Rob', '2017-03-09', 1),
('Bart','Andrew', '2017-03-26', 2),
('Tony','Dave', '2017-04-11', 1),
('Bart','Steve', '2017-04-20', 4),
('Tugberk','Dave', '2017-02-10', 1),
('Bart','Andrew', '2017-08-27', 2),
('Rob','Tony', '2017-04-05', 3),
('Dave','Tugberk', '2017-04-15', 3),
('Andrew','Dave', '2017-02-03', 1),
('Tugberk','Bart', '2017-05-06', 4),
('Rob','Tony', '2017-07-27', 3),
('Bart','Andrew', '2017-07-16', 2),
('Bart','Steve', '2017-03-12', 4),
('Bart','Steve', '2017-06-06', 4),
('Andrew','Bart', '2017-06-30', 3),
('Dave','Rob', '2017-01-15', 1),
('Bart','Andrew', '2017-03-03', 2),
('Andrew','Dave', '2017-04-23', 1),
('Tugberk','Dave', '2017-04-24', 2),
('Steve','Tony', '2017-06-08', 2),
('Tugberk','Bart', '2017-02-02', 3),
('Tony','Bart', '2017-01-29', 3),
('Tony','Bart', '2017-03-30', 3),
('Bart','Steve', '2017-02-09', 4),
('Ally','Tony', '2017-06-09', 3),
('Tony','Bart', '2017-02-11', 3),
('Andrew','Rob', '2017-01-15', 1),
('Tugberk','Dave', '2017-03-14', 1),
('Rob','Tony', '2017-04-25', 3),
('Dave','Tugberk', '2017-02-01', 3),
('Tony','Bart', '2017-09-04', 4)
) a(OwedTo, OwedBy, EarnedDate, Beer) ) SELECT * FROM myBeers