Если вам не нужно использовать temptable
в вашем view
, вы можете использовать следующее утверждение для создания представления из вашего select
:
CREATE VIEW v_tracks
AS
SELECT
trackid,
tracks.name,
albums.Title AS album,
media_types.Name AS media,
genres.Name AS genres
FROM
tracks
С этого момента вы просто используете следующий простой запрос:
SELECT
*
FROM
v_tracks;
Попробуйте здесь
и если вам нужно использовать временную таблицу в представлении, вы можете использовать CTEs
, CTE - это временные результирующие наборы, которые определены в рамках выполнения одного оператора, и их можно использовать в представлениях.
Пример из здесь :
CREATE VIEW vSalesStaffQuickStats
AS
WITH SalesBySalesPerson (SalesPersonID, NumberOfOrders, MostRecentOrderDate)
AS
(
SELECT SalesPersonID, COUNT(*), MAX(OrderDate)
FROM Sales.SalesOrderHeader
GROUP BY SalesPersonID
)
SELECT E.EmployeeID,
EmployeeOrders = OS.NumberOfOrders,
EmployeeLastOrderDate = OS.MostRecentOrderDate,
E.ManagerID,
ManagerOrders = OM.NumberOfOrders,
ManagerLastOrderDate = OM.MostRecentOrderDate
FROM HumanResources.Employee AS E
INNER JOIN SalesBySalesPerson AS OS
ON E.EmployeeID = OS.SalesPersonID
LEFT OUTER JOIN SalesBySalesPerson AS OM
ON E.ManagerID = OM.SalesPersonID
Надеюсь, это поможет.