जबकि आपके साधारण उदाहरण में चीजें समान होंगी, नेस्टेड दृश्यों का उपयोग करने में कुछ सावधानी आवश्यक है।
मैंने एक ऐसी प्रणाली पर काम किया जहां नेस्टेड दृश्यों के लगभग 6 स्तरों पर निर्मित 30 सेकंड के बाद प्रश्नों का समय समाप्त हो गया था और बेस टेबल के विरुद्ध प्रश्नों को फिर से लिखकर लगभग 100 के कारक द्वारा इन्हें गति देने में कामयाब रहा।
जिस प्रकार की समस्या उत्पन्न हो सकती है उसका एक सरल उदाहरण नीचे है।
CREATE VIEW MaxTypes
AS
SELECT
[number],
MAX(type) AS MaxType
FROM [master].[dbo].[spt_values]
GROUP BY [number]
GO
CREATE VIEW MinTypes
AS
SELECT
[number],
MIN(type) AS MinType
FROM [master].[dbo].[spt_values]
GROUP BY [number]
GO
SET STATISTICS IO ON
SELECT MaxTypes.number, MinTypes.MinType, MaxTypes.MaxType
FROM MinTypes INNER JOIN
MaxTypes ON MinTypes.number = MaxTypes.number
ORDER BY MaxTypes.number
/*
Gives
Table 'spt_values'. Scan count 2, logical reads 16, physical reads 0,
read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
*/
GO
SELECT
[number],
MAX(type) AS MaxType,
MIN(type) AS MinType
FROM [master].[dbo].[spt_values]
GROUP BY [number]
ORDER BY [number]
/*
Gives
Table 'spt_values'. Scan count 1, logical reads 8, physical reads 0,
read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
*/