# Übung 3 Aufgabe 5 - Simon Stadlinger, Julian Baumann
#### a)
```sql
SELECT n_name, l_year, SUM(volume) as profit FROM (
SELECT n_name, EXTRACT(YEAR FROM o_orderdate) as l_year, (l_extendedprice*(1-
l_discount)) - (ps_supplycost * l_quantity) as volume
FROM nation, orders, lineitem, supplier, part, partsupp
WHERE s_suppkey = l_suppkey
AND o_orderkey = l_orderkey
AND n_nationkey = s_nationkey
AND l_partkey = ps_partkey
AND l_suppkey = ps_suppkey
AND p_partkey = ps_partkey
AND p_name LIKE '%chocolate%'
) as chocSupp
GROUP BY n_name, l_year
ORDER BY n_name ASC, l_year DESC;
```
#### b)
``` sql
WITH parts_germany AS (
SELECT p_partkey, p_name, ps_availqty
FROM part, partsupp, supplier, nation
WHERE p_partkey = ps_partkey
AND ps_availqty > 0
AND ps_suppkey = s_suppkey
AND s_nationkey = n_nationkey
AND n_name = 'GERMANY'
)
SELECT p_partkey, p_name, SUM(ps_availqty) AS quantity
FROM parts_germany
GROUP BY p_partkey, p_name
HAVING SUM(ps_availqty) > (SELECT SUM(ps_availqty) FROM parts_germany)*0.00001
ORDER BY quantity DESC;
```