MySQL如何使用子查询创建视图?

小猫游行

我想创建一个名为OrderSummary的视图,其中包含CUSTOMER.FirstName,CUSTOMER.LastName,INVOICE.InvoiceDate和发票总额(通过确定INVOICE_ITEM.Quantity的总和乘以SERVICE.ServicePrice计算得出)。我想使用子查询来确定发票总额。谢谢您的帮助。

CREATE VIEW OrderSummaryView AS
    SELECT c.FirstName, c.LastName, i.InvoiceDate
FROM CUSTOMER c, INVOICE i, SERVICE s  
WHERE c.CustomerID = i.InvoiceID  
AND c.CustomerID = s.ServiceID; 
SELECT sum(UnitPrice) * Quantity AS InvoiceTotal
FROM        SERVICE, INVOICE_ITEM
WHERE       SERVICE.ServiceID = invoice_item.InvoiceID
约翰·鲁德尔

您应该首先对select语句进行操作,以包含特定于联接的语法

SELECT c.FirstName, c.LastName, i.InvoiceDate
FROM CUSTOMER c
JOIN INVOICE i ON c.CustomerID = i.InvoiceID 
JOIN INVOICE_ITEM ii ON ii.InvoiceID = i.InvoiceID 
JOIN SERVICE s ON ii.ServiceID = s.ServiceID;

然后我们可以添加您的其他子查询

SELECT c.FirstName, c.LastName, i.InvoiceDate, t.InvoiceTotal
FROM CUSTOMER c
JOIN INVOICE i ON c.CustomerID = i.InvoiceID 
JOIN INVOICE_ITEM ii ON ii.InvoiceID = i.InvoiceID 
JOIN SERVICE s ON ii.ServiceID = s.ServiceID
JOIN
(   SELECT SUM(UnitPrice) * Quantity AS InvoiceTotal, i.InvoiceID
    FROM SERVICE s
    JOIN INVOICE_ITEM i ON i.InvoiceID = s.ServiceID
    GROUP BY i.InvoiceID
) as t ON t.InvoiceID = i.InvoiceID;

看起来有点可疑的一件事是,customerid = invoiceid = serviceid您确定所有这些都是正确的pk-> fk关系吗?

要创建带有子视图的视图,您必须分两个步骤进行操作

CREATE VIEW cust_inv_serv AS 
    SELECT c.FirstName, c.LastName, i.InvoiceDate, i.InvoiceID
    FROM CUSTOMER c
    JOIN INVOICE i ON c.CustomerID = i.InvoiceID 
    JOIN INVOICE_ITEM ii ON ii.InvoiceID = i.InvoiceID 
    JOIN SERVICE s ON ii.ServiceID = s.ServiceID;

CREATE VIEW OrderSummaryView AS 
    SELECT v.FirstName, v.LastName, v.InvoiceDate, v.InvoiceID, SUM(UnitPrice) * Quantity AS InvoiceTotal
    FROM SERVICE s
    JOIN INVOICE_ITEM i ON i.InvoiceID = s.ServiceID
    JOIN cust_inv_serv v ON v.InvoiceID = i.InvoiceID
    GROUP BY i.InvoiceID;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL如何创建视图以使用查询参数

来自分类Dev

创建视图时在子查询中使用合并

来自分类Dev

如何使用Laravel Eloquent创建子查询?

来自分类Dev

视图/子查询(MySQL)中未使用的列

来自分类Dev

视图/子查询(MySQL)中未使用的列

来自分类Dev

如何使用MySQL子查询和GROUP BY

来自分类Dev

wordpress mysql查询无法使用concat创建视图

来自分类Dev

筛选使用子查询的视图

来自分类Dev

在聚合函数中创建视图子查询

来自分类Dev

创建视图时重用子查询的结果

来自分类Dev

如何使mysql子查询

来自分类Dev

如何使用Autolayout在子视图中创建UIGestureRecognizer?

来自分类Dev

如何为每个视图创建子视图?

来自分类Dev

如何使用子查询在 Spotfire 中创建信息链接

来自分类Dev

如何创建Rx搜索视图,以使用查询过滤回收者视图

来自分类Dev

如何在mysql中通过group by使用子查询?

来自分类Dev

如何在 MySQL 的 FROM 子句中使用子查询?

来自分类Dev

MySQL:如何使用子查询和连接选择 min()

来自分类Dev

如何使用IN创建查询?

来自分类Dev

如何在SKScene中创建子视图?

来自分类Dev

如何在MySql查询中为类似instagram的帖子创建视图?

来自分类Dev

如何在查询中使用别名以在mysql中创建条件

来自分类Dev

如何使用5个不同的表mysql创建内部查询

来自分类Dev

如何使用“Case When”和“Group By”创建 Mysql 查询

来自分类Dev

如何动态创建mySQL查询?

来自分类Dev

Laravel Eloquent-如何使用子查询以及是否满足条件创建查询

来自分类Dev

如何使用Hibernate创建视图?

来自分类Dev

如何在Grails中创建子查询

来自分类Dev

如何使用SQL子查询?

Related 相关文章

热门标签

归档