|
The following Microsoft SQL Server T-SQL
sample script demonstrates the application of derived table (cnum) to
build complex queries:
-- SQL derived table - subselect - inner join subselect
USE Northwind;
SELECT c.CategoryName,
p.ProductName,
p.UnitPrice,
cnum.NoOfProducts
FROM Categories c
INNER JOIN Products p
ON c.CategoryID = p.CategoryID
INNER JOIN (SELECT c.CategoryID,
NoOfProducts = count(* )
FROM Categories c
INNER JOIN Products p
ON c.CategoryID = p.CategoryID
GROUP BY c.CategoryID) cnum -- derived table - subselect
ON c.CategoryID = cnum.CategoryID
ORDER BY c.CategoryName
GO
/* Partial results
CategoryName ProductName UnitPrice NoOfProducts
Beverages Chai 18.00 12
Beverages Chang 19.00 12
Beverages Guaraná Fantástica 4.50 12
Beverages Sasquatch Ale 14.00 12
Beverages Steeleye Stout 18.00 12
Beverages Côte de Blaye 263.50 12
*/
------------
Related articles:
Using Derived Tables to Simplify the SQL Server Query Process
SQL Server 2005 Derived Tables, Common Table Expressions and Indexed Views Query Processing Part II
|