В этой базе данных мне нужно найти общую сумму, которую каждый клиент заплатил за книги в категории, а затем отсортировать их по их идентификатору.Кажется, что код работает правильно, но я получаю примерно на 20 дополнительных строк больше, чем нужно, хотя в правильных строках сумма кажется правильной.
Идентификатор клиента является частью customer
, но это не такдолжен появиться в предложении select
, когда я пытаюсь ORDER BY
, я получаю странные ошибки.Механизм БД - DB2.
SELECT distinct customer.name, book.cat, sum(offer.price) AS COST
FROM offer
INNER JOIN purchase ON purchase.title=offer.title
INNER JOIN customer ON customer.cid=purchase.cid
INNER JOIN member ON member.cid=customer.cid
INNER JOIN book ON book.title=offer.title
WHERE
member.club=purchase.club
AND member.cid=purchase.cid AND purchase.club=offer.club
GROUP BY customer.name, book.cat;