创建视图SQL

时间:2013-05-12 10:02:12

标签: sql database postgresql postgresql-8.4

这些是我必须使用的表格。

客户( cust_id ,姓名,城市,邮政编码)

订单( order_id ,cust_id,日期)

订单行( order_id,video_id ,数量)

视频( video_id ,说明,价格,category_id)

类别( category_id ,说明)

我需要:

创建一个名为CustomerSummary的视图,该视图显示客户名称以及订购的视频总数和每个客户的总订单价值。

1 个答案:

答案 0 :(得分:1)

您必须连接三个表以获取所需的输出,如下所示 -

    SELECT c.Cust_Id,
         c.NAME,
         COUNT(DISTINCT o.Order_Id) Num_Of_Order,
         COUNT(*) Num_Of_Video
    FROM Customer c, Order_Table o, Orderline Ol
   WHERE c.Cust_Id = o.Cust_Id
     AND o.Order_Id = Ol.Order_Id
   GROUP BY c.Cust_Id, c.NAME

现在对于此查询,您需要创建视图 - 只需在此查询之前添加Create or Replace View CustomerSummary as即可创建名称为 CustomerSummary

的视图