【问题标题】: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

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

【问题讨论】:

    标签: sql database oracle view oracle-sqldeveloper


    【解决方案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。对不起我的错误。
      猜你喜欢
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2017-06-20
      • 2020-04-25
      • 2012-10-22
      相关资源
      最近更新 更多