Я вижу, что здесь есть несколько разных тем о соединениях SQL с тремя таблицами. У меня немного другая проблема, которая доставляет мне неприятности. Это может быть проблема дизайна БД или, может быть, я не правильно использую соединение?
У меня три стола
artists (id, name)
contents (id, artist_id, title)
sales (id, artist_id, content_id, revenue, sales_date)
в моей базе данных я хочу получить идентификатор исполнителя , идентификатор содержимого и сумма выручки от продаж содержания каждого исполнителя
ниже мой SQL-запрос:
SELECT
artists.id AS artist, contents.id AS artist,
SUM(sales.revenue)AS revenue
FROM artist_sales
INNER JOIN contents ON sales.content_id = contents.id
INNER JOIN artists ON sales.artist_id = artists.id
WHERE
sales.artist_id = artists.id AND
sales.content_id = contents.id AND
sales.sales_date BETWEEN '2019-01-01' AND '2019-01-31'
GROUP BY artists.id;
результат, который я получаю, для дохода первого контента художника
пример данных:
стол художника ![contents table](https://i.stack.imgur.com/YmkQa.png)
таблица содержания ![artists table](https://i.stack.imgur.com/IV0DV.png)
таблица продаж ![sales table](https://i.stack.imgur.com/aVbbl.png)