首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >按分支机构按天显示每周销售额mysql

按分支机构按天显示每周销售额mysql
EN

Stack Overflow用户
提问于 2012-07-26 04:17:09
回答 2查看 711关注 0票数 0

我有两张桌子。

表1=分支,包含

branch_id branch_name

表2= sales_data包含

sales_id sales_date sales_branch sales_profit

我需要远离显示每个分支机构的总日销售额和总的日利润。我知道如何返回给定一周的结果,等等,我只是真的在努力寻找如何拉回数据。

我还需要所有的分支显示在所有的时间,如果他们没有卖出任何东西,以显示一个0。

我已经把我希望如何完成的快速图像(http://i37.photobucket.com/albums/e71/dannyflap/screen_shot.jpg)放在一起。这真的让我抓狂:

更新

代码语言:javascript
复制
select sales_branch, WEEKDAY(sales_date), COUNT(sales_profit), SUM(sales_profit)
FROM sales_date
GROUP BY sales_branch, WEEKDAY(sales_date)

这将返回以下示例。数字是编造出来的。

代码语言:javascript
复制
sales_branch, day, units, profit:

| branch1 | 0 (as day) | 16 | 439 |

| branch1 | 1 (as day) | 12 | 651 |

| branch1 | 2 (as day) | 22 | 312 |

| branch1 | 3 (as day) | 61 | 614 |

| branch1 | 4 (as day) | 12 | 541 |

| branch1 | 5 (as day) | 24 | 102 |

| branch1 | 6 (as day) | 21 | 145 |
EN

回答 2

Stack Overflow用户

发布于 2012-07-26 04:24:21

在sales_data中,您将需要一个映射到分支的外键。

假设sales_branch不同于branch_name或branch_id,sales_data应该包含:

代码语言:javascript
复制
sales_id sales_date sales_branch branch_id sales_profit

此外-你应该发布你的代码,以获得给定周的结果,我们可以帮助你在此基础上构建,而不是给你完整的答案。

EDIT Ok修改您的sales_data表,使其具有指向branch表的外键branch_id,此查询将使您更接近您正在寻找的内容。

代码语言:javascript
复制
SELECT b.branch_name, WEEKDAY(s.sales_date), COUNT(s.sales_profit), SUM(s.sales_profit)
FROM branch b
LEFT OUTER JOIN sales_data on s.branch_id = b.branch_id
GROUP BY b.branch_id, WEEKDAY(s.sales_date)
票数 0
EN

Stack Overflow用户

发布于 2012-07-26 04:29:37

我猜您必须对表1的branch_id和表2的sales_branch进行外连接,并遍历结果以生成表。通过使用外部连接,我认为那些没有销售任何东西的分支机构将获得一个NULL

是不是表生成有问题?我不认为为这个问题做一些壮观的SQL是明智的。我的两点意见。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11657933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档