-- Your SQL goes here CREATE TABLE products ( id INTEGER PRIMARY KEY NOT NULL, name TEXT UNIQUE NOT NULL, price REAL NOT NULL, owner TEXT NOT NULL, created_at TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL, updated_at TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL ); CREATE TABLE orders ( id INTEGER PRIMARY KEY NOT NULL, created_at TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL, updated_at TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL ); CREATE TABLE orders_products ( order_id INTEGER NOT NULL, product_id INTEGER NOT NULL, quantity INTEGER NOT NULL, FOREIGN KEY (order_id) REFERENCES orders(id), FOREIGN KEY (product_id) REFERENCES products(id), PRIMARY KEY (order_id, product_id) ); INSERT INTO products (name, price, owner) VALUES ("Pfadiburger", 5.1, "Pfadfinder"), ("Kuchen", 2, "Sportunion"), ("Apfelsaft", 1.5, "Sportunion"), ("Käsekrainer", 4, "Pfadfinder"), ("Süßes", 0.2, "Pfadfinder"), ("Capuccino", 3.5, "Deluke"), ("Espresso", 2.5, "Deluke"); INSERT INTO orders DEFAULT VALUES; INSERT INTO orders_products (order_id, product_id, quantity) VALUES (1, 1, 3), (1, 2, 1), (1, 5, 1); INSERT INTO orders DEFAULT VALUES; INSERT INTO orders_products (order_id, product_id, quantity) VALUES (2, 4, 2), (2, 6, 2), (2, 2, 1); CREATE VIEW totals_per_owner_and_order AS SELECT id, owner, SUM(total_price) AS total FROM ( SELECT o.id, p.owner, p.price*op.quantity AS total_price FROM orders AS o INNER JOIN orders_products AS op ON o.id = op.order_id INNER JOIN products AS p ON p.id = op.product_id ) GROUP BY id, owner;