PDA

View Full Version : سوال: فیلد محاسباتی در select



hamid1361k
جمعه 24 مهر 1388, 19:17 عصر
select (1.5 * no) as c from stt
where c >155

سلام. این دستور اشتباهه؟ روشی هست که بشه با یه دونه Select نوشت؟
فکر کنم با with میشه. اگه کسی میدونه لطف کنه توضیح بده.
ممنون

young_man1365
جمعه 24 مهر 1388, 20:16 عصر
WHERE c>155

مشکل از اینجاست. باید اینجوری استفاده کنی:



select 1.5*no as C FROM stt WHERE (1.5*no) >155 ;

توضیح اینکه ستون c وجود نداره! چیزی که شما در AS تعریف میکنی در واقع یه برچسب برای ستون مورد نظره و در قسمت WHERE شناخته نمیشه.

محمد سلیم آبادی
جمعه 24 مهر 1388, 21:11 عصر
نام ستون مستعار در ماده ی where همان query قابل استفاده نیست.
همانطوری که خود گفتین می توانیم از table expressions مثل cte و derived table استفاده کنیم

روش derived table


select * from (
select (1.5 * no) as c from stt) d
where d.c >155