PDA

View Full Version : دستور case



likemoon
شنبه 23 فروردین 1393, 17:02 عصر
سلام آیا امکانش هست که با استفاده از case فیلدی به یک ویو اضافه کرد به طوری که مثلا اگر مقادیر فیلد x بزرگتر از 10 باشد، فیلد جدید مقدار N بگیرد و اگر مقدار فیلد x بزرگتر از 100 باشد فیلد جدید مقدار M بگیرد؟
لطفا اگر امکانش هست راهنمایی کنید و بگید به چه صورت باید مورد استفاده قرار بدم؟

fakhravari
شنبه 23 فروردین 1393, 21:31 عصر
http://msdn.microsoft.com/en-us/library/ms181765.aspx

espootin
یک شنبه 24 فروردین 1393, 16:18 عصر
با سلام.
بله کاملا شدنی هست.

یک مثال براتون گذاشتم:


declare @v table( total int);


insert into @v values ( 5) , ( 15) , ( 25) , ( 35) , ( 45);


select (case
when total < 10 then total + 10
when total < 30 then total + 5
else total
end)
from @v

mohammad39
پنج شنبه 30 خرداد 1398, 22:11 عصر
با سلام و عرض تشکر از سایت خوبتون
من یک فرم در bpms (liferay )
ایجاد کردم .این فرم فیلد دارد که می خواهم بصورت گزارش نموداری نمایش داده شود. و بصورت زیر تعریف کردم.مشکل اینجاست که می خواهم نمودار خطی را بر اساس ماههای میلادی نمایش دهد و لی ماه ها را نمایش نمیده و عددنشان می دهد و مقدار واقعی را بر نمی گرداند.. از چطور از دستور CASE when استفاده کنم. من هر مدل بود استفاده کردم نتیجه نگرفتم
. لطفا راهنمایی فرمایید با تشکر
SPT:SELECT month_, SPT_ FROM SCF_PP_Ind;
Av.year:SELECT month_, current_year_average FROM SCF_PP_Ind;
War3:SELECT month_, 3rd_alert_level FROM SCF_PP_Ind;
War2:SELECT month_, 2nd_alert_level FROM SCF_PP_Ind;
War1:SELECT month_, 1st_alert_level FROM SCF_PP_Ind;
World:SELECT month_, world_ind FROM SCF_PP_Ind;
Rate:SELECT month_,failure_rate_Prophet FROM SCF_PP_Ind;

mohammad39
پنج شنبه 30 خرداد 1398, 22:19 عصر
با سلام و عرض تشکر از سایت خوبتون
من یک فرم در bpms (liferay )
ایجاد کردم .این فرم فیلد دارد که می خواهم بصورت گزارش نموداری نمایش داده شود. و بصورت زیر تعریف کردم.مشکل اینجاست که می خواهم نمودار خطی را بر اساس ماههای میلادی نمایش دهد و لی ماه ها را نمایش نمیده و عددنشان می دهد و مقدار واقعی را بر نمی گرداند.. از چطور از دستور CASE when استفاده کنم. من هر مدل بود استفاده کردم نتیجه نگرفتم
. لطفا راهنمایی فرمایید با تشکر
SPT:SELECT month_, SPT_ FROM SCF_PP_Ind;150379
Av.year:SELECT month_, current_year_average FROM SCF_PP_Ind;
War3:SELECT month_, 3rd_alert_level FROM SCF_PP_Ind;
War2:SELECT month_, 2nd_alert_level FROM SCF_PP_Ind;
War1:SELECT month_, 1st_alert_level FROM SCF_PP_Ind;
World:SELECT month_, world_ind FROM SCF_PP_Ind;
Rate:SELECT month_,failure_rate_Prophet FROM SCF_PP_Ind;

mohammad39
پنج شنبه 30 خرداد 1398, 23:20 عصر
SPT:SELECT month_, SPT_ FROM BIRD_Ind;
Av.year:SELECT month_, current_year_average FROM BIRD_Ind;
War3:SELECT month_, 3rd_alert_level FROM BIRD_Ind;
War2:SELECT month_, 2nd_alert_level FROM BIRD_Ind;
War1:SELECT month_, 1st_alert_level FROM BIRD_Ind;
World:SELECT month_, world_ind FROM BIRD_Ind;
Rate: SELECT Event_Rates_Birds,
CASE WHEN month_=1 THEN 'Jan'
WHEN month_=2 THEN 'Feb'
ELSE 'Apr'
END

FROM BIRD_Ind;