创建摘要视图

Posted

技术标签:

【中文标题】创建摘要视图【英文标题】:Create a summary view 【发布时间】:2019-12-15 01:58:58 【问题描述】:

我需要创建如下所示显示收入的视图。 (游乐园数据库)

我有 3 张桌子: x_transaction(transaction_id,rides_id,金额,...) x_rides(rides_id、rides_category_id、...)

x_rides_category (rides_category_id, name, ...)

我需要创建一个视图来显示每个游乐设施类别的总收入

类别    收入 ------------   ------------ 运动          34000 水         27000 肾上腺素 24300 成人          null

顺便说一句,对不起我的英语不好。

【问题讨论】:

【参考方案1】:

我认为您可以使用outer joinsgroup by 如下:

Create view your_view_name as
Select cat.name as category, sum(amount) as revenue
  From x_rides_category cat
  Left join x_rides r on cat.rides_category_id = r.rides_category_id
  Left join x_transaction t on r.rides_id = t.rides_id
Group by cat.name

干杯!!

【讨论】:

【参考方案2】:

以下应该会产生您正在寻找的东西:

CREATE VIEW RIDE_CATEGORY_REVENUE_VIEW AS
  SELECT c.NAME AS CATEGORY, SUM(t.AMOUNT) AS REVENUE
  FROM X_RIDES_CATEGORY c
  INNER JOIN X_RIDES r
    ON r.RIDES_CATEGORY_ID = c.RIDES_CATEGORY_ID
  INNER JOIN X_TRANSACTION t
    ON t.RIDES_ID = r.RIDES_ID

我怀疑 X_TRANSACTION 的第二个字段的名称是 RIDE_ID 还是 RIDES_ID。后者与 X_RIDES 上的相应字段匹配,但我使用了名字,因为这就是您在 X_RIDES 表的摘要中显示的名称。

【讨论】:

哦,是的,第二个字段应该是 RIDES_ID。对不起我的错误。

以上是关于创建摘要视图的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 创建摘要视图

我如何创建(临时?)存储过程来帮助制作摘要视图?

SQL Server:基于多个日期创建摘要

WPS Office 2019 版本 excel透视图创建及删除

WPS Office 2019 版本 excel透视图创建及删除

教程4 - 验证和权限