A report query

A join plus totals.

A join plus totals you could copy out.

Goal

Name, units, and a grand total.

DROP TABLE IF EXISTS cities;
CREATE TABLE cities (
  id INTEGER PRIMARY KEY,
  name TEXT,
  region TEXT
);
INSERT INTO cities VALUES
  (1, 'Nairobi', 'Capital'),
  (2, 'Mombasa', 'Coast'),
  (3, 'Kisumu', 'Lakeside');

DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  city_id INTEGER,
  units INTEGER,
  shillings INTEGER
);
INSERT INTO sales VALUES
  (1, 12, 480),
  (2, 8, 320),
  (3, 5, 200);
SELECT cities.name, sales.units, sales.shillings
FROM sales
JOIN cities ON cities.id = sales.city_id
ORDER BY sales.shillings DESC;
DROP TABLE IF EXISTS cities;
CREATE TABLE cities (
  id INTEGER PRIMARY KEY,
  name TEXT,
  region TEXT
);
INSERT INTO cities VALUES
  (1, 'Nairobi', 'Capital'),
  (2, 'Mombasa', 'Coast'),
  (3, 'Kisumu', 'Lakeside');

DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  city_id INTEGER,
  units INTEGER,
  shillings INTEGER
);
INSERT INTO sales VALUES
  (1, 12, 480),
  (2, 8, 320),
  (3, 5, 200);
SELECT SUM(sales.shillings) AS till
FROM sales
JOIN cities ON cities.id = sales.city_id;