Specifies a temporary named result set, known as a common table
expression (CTE). This is derived from a simple query and defined within
the execution scope of a single SELECT, INSERT, UPDATE, or DELETE
statement. This clause can also be used in a CREATE VIEW statement as
part of its defining SELECT statement. A common table expression can
include references to itself. This is referred to as a recursive common
table expression.
[ WITH <common_table_expression> [ ,...n ] ]
<common_table_expression>::=
expression_name [ ( column_name [ ,...n ] ) ]
AS
( CTE_query_definition )
-- Define the CTE expression name and column list.
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)
AS
-- Define the CTE query.
(
SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
)
-- Define the outer query referencing the CTE name.
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear
FROM Sales_CTE
GROUP BY SalesYear, SalesPersonID
ORDER BY SalesPersonID, SalesYear;
GO
Không có nhận xét nào:
Đăng nhận xét