اگر من درست متوجه منظور شما شده باشم، شاید این به شما کمک کنه.
فرض کنید که select اولیه شما این است:
select
o.name,
o.type,
convert( decimal(20,0), o.object_id ) ObjectIDValue
from
sys.objects o;
حالا شما می خواهید تعداد سطر های این select و مجموع مقادیر ستون ObjectIDValue را به دست بیاورید. می توانید از مفهموی به اسم derived table استفاده نمائید. کل کد select اولی را می تونید قرار دهید درون یک پرانتز و بعد از پرانتز به آن یک اسم خاص بدهید، که بهش می گویند یک alias. مثل این:
(
select
o.name,
o.type,
convert( decimal(20,0), o.object_id ) ObjectIDValue
from
sys.objects o
) MyFirstSelect
اینجا من یک alias به این select داده ام و آن را با استفاده از آن alias در حقیقت نام گذاری کرده ام . نامی را هم که روی آن گذاشته ام MyFirstSelect می باشد. (در زبان انگلیسی، کلمه alias معنی «شهرت» یا «اسم مستعار» را دارد.)
به اینجا که رسیدید، حالا می توانید از این derived table طوری استفاده کنید مثل اینکه خودش یک table است که اسمش همان alias ی می باشد که شما برایش انتخاب کردید. . پس query نهایی شما میشود چیزی مثل این:
select
sum( MyFirstSelect.ObjectIDValue ) SumOfObjectIDValues,
count(1) CountOfObjects
from
(
select
o.name,
o.type,
convert( decimal(20,0), o.object_id ) ObjectIDValue
from
sys.objects o
) MyFirstSelect;
کد بالا باید در SQL Server Management Studio قابل اجرا باشد.