У меня небольшая проблема с моими последними заданиями. Я использую старую базу данных 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. Это совсем не похоже на счет в реальной жизни.
Это должно выглядеть примерно так:
Мне нужно отделить общие данные о счете и клиенте от данных о самом заказе, идентификаторе продукта, количестве и т. Д.
Можно ли создать нечто подобное в SQL Server Management Studio? Как я могу это сделать?