|
Расчет дохода
|
|||
---|---|---|---|
#18+
Доброго дня всем! Есть у меня задачка такого плана. Учитывая информацию о продажах в магазине, рассчитать общий доход для каждого дня, месяца, года и продукта. Вводные данные такие : В Sales таблице хранятся только даты, для которых были записаны какие-либо данные - sales_details вместо этого в таблице хранится информация об отдельных продажах (что и когда было продано). В sales_details таблице хранятся итоговые данные по продукту на дату. Я хочу получить выход product_name, year, month, day (данные) Доходность по конкретному продукту. В наличии у меня три таблицы products,sales,sales_details. sales | id | int | | | date | date --------------------------------------------- sales_details | id | int | | | sale_id | int | | | product_id | int | | | count | int --------------------------------------------- products | id | int | | | name | text | | | price | numeric | ------------------------------------------------- Я попытался создать вот такую конструкцию : Условно по товару "молоко" Представил что есть связка по ID и использовал Inner Join SELECT product.name as Product_name, sales.date as Year, sales.date as Moth, sales.date as DAY, SUM (product.price) as Total, (SELECT COUNT(s.SalesID) FROM Product p INNER JOIN Product ON Sales.id = product.id WHERE product.name = "Молоко") AS EXP FROM Sales_Details INNER JOIN Sales AS Sales_Details ON Sales_Details.id = Sales.id WHERE s.date BETWEEN 'Дата1' AND 'Дата2' GROUP BY DAYOFMONTH(s.date), HOUR(s.date), MONTH(s.date) Вопрос в чем - прошу кому не трудно помочь мне с моей конструкцией. Может что то с корректировать надо поправить. Буду признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 21:14 |
|
Расчет дохода
|
|||
---|---|---|---|
#18+
Jackson2021, не с той стороны заходите, попробуйте проанализировать сначала формулировку "каждого дня, месяца, года и продукта", по сути это подразумевает что вам нужен разрез групп year(), month(), day(), product_id исходя из этого: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
если вам дополнительно нужно подведение итогов по каждому "разрезу" : год, месяц, день, продукт то смотрите в сторону grouping ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 22:00 |
|
|
start [/forum/topic.php?fid=46&fpage=8&tid=1684032]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 413ms |
0 / 0 |