## Контекст (таблицы и пример данных) ### Таблицы - `orders(id, total_amount)` - `order_items(order

SQL Developer Senior
## Контекст (таблицы и пример данных) ### Таблицы - `orders(id, total_amount)` - `order_items(order_id, qty, unit_price)` ### Пример данных **orders** | id | total_amount | |----:|-------------:| | 100 | 1660 | | 101 | 700 | **order_items** | order_id | qty | unit_price | |---------:|----:|-----------:| | 100 | 1 | 1200 | | 100 | 1 | 480 | | 101 | 1 | 700 | --- ## Задача Найти заказы, где `orders.total_amount` **не равен** сумме по строкам заказа. Вернуть: `order_id`, `header_total`, `items_total`, `diff`.
Ответы
```sql WITH items AS ( SELECT order_id, SUM(qty * unit_price) AS items_total FROM order_items GROUP BY order_id ) SELECT o.id AS order_id, o.total_amount AS header_total, i.items_total, (o.total_amount - i.items_total) AS diff FROM orders o JOIN items i ON i.order_id = o.id WHERE o.total_amount <> i.items_total; ```