我的最后一项任务有点问题。我正在使用一个旧的Northwind数据库。首先,我必须创建一个查询,这将为我提供发票的所有重要信息。我的查询如下:
SELECT b.OrderID,
b.CustomerID,
c.CompanyName,
c.Address,
c.City,
c.PostalCode,
c.CountryID as CustomersCountryID,
concat(d.FirstName, ' ', d.LastName) as Salesperson,
a.CompanyName as ShippingVia,
e.ProductID,
f.ProductName,
e.Quantity,
e.UnitPrice * e.Quantity * (1 - e.Discount) as ExtendedPrice
from Shippers a
inner join Orders b on a.ShipperID = b.ShipVia
inner join Customers c on c.CustomerID = b.CustomerID
inner join Employees d on d.EmployeeID = b.EmployeeID
inner join [Order Details] e on b.OrderID = e.OrderID
inner join Products f on f.ProductID = e.ProductID
order by b.OrderID它起作用了,它给了我所有的命令与信息。但是现在,我需要为特定OrderId的发票创建一个表视图。当我写这样的东西时:
CREATE VIEW FAKTURA AS
SELECT b.OrderID,
b.CustomerID,
c.CompanyName,
c.Address,
c.City,
c.PostalCode,
c.CountryID as CustomersCountryID,
concat(d.FirstName, ' ', d.LastName) as Salesperson,
a.CompanyName as ShippingVia,
e.ProductID,
f.ProductName,
e.Quantity,
e.UnitPrice * e.Quantity * (1 - e.Discount) as ExtendedPrice
from Shippers a
inner join Orders b on a.ShipperID = b.ShipVia
inner join Customers c on c.CustomerID = b.CustomerID
inner join Employees d on d.EmployeeID = b.EmployeeID
inner join [Order Details] e on b.OrderID = e.OrderID
inner join Products f on f.ProductID = e.ProductID
WHERE b.OrderID = 10248我只是为这个特定的OrderID创建一个单独的视图文件。这看起来一点也不像现实生活的发票。

它应该是这样的:

我需要将有关发票和客户的一般数据与订单本身、产品ID、数量等数据分开。是否可以在中创建类似的内容?我该怎么做呢?
发布于 2018-04-27 08:36:14
您的查询已经提供了头(客户信息)和表体部件,所以您可以做的是(注意:这不是我要做的,而是考虑到需要一个非常简单的解决方案):
结果将是您已经拥有的小计,税,航运和总额在每一项记录。
同样,这不是最有效和最优雅的解决方案,但符合您的需要(简单性和最终结果)。
https://stackoverflow.com/questions/50057291
复制相似问题