PDA

View Full Version : قراردادن یک ستون بجای نام پیش فرض



Iran58
چهارشنبه 27 مرداد 1395, 11:56 صبح
سلام
فرض کنید

select id,count(Price) as [pricecount] ,name from test
group by id,name

است
اما من می خواهم بجای pricecount نام یک ستون دیگری را بگذارم مثلا

select id,count(Price) as (select name from test2 where id='2') ,name from test
group by id,name



اما درعمل ایراد میگرد برای حل این مشکل چه راهی وجود دارد
باتشکر

pezhvakco
چهارشنبه 27 مرداد 1395, 19:39 عصر
نمیدونم چه فکری پشت این خواسته شما است ولی از اون خواسته ها است.


رای حل این مشکل چه راهی وجود دارد
همیشه راهی است ولی هزینه اش شاید زیاد باشه

Declare @ColName NVarchar(50);
Declare @SqlStr NVarchar(100);


Select @ColName = Select Name
From dbo.Table01
Where Id = 2;


Set @SqlStr = 'SELECT Id ,Count(Price) as AS ';
Set @SqlStr = @SqlStr + '[' + @ColName + ']';
Set @SqlStr = @SqlStr + ',Name From Test Group By id, name';


EXECUTE sp_executesql @SqlStr;