View Full Version : دستور case
m_zi
یک شنبه 05 اسفند 1386, 17:03 عصر
سلام
خسته نباشید
من با اس کیو ال کار می کنم حالا بنا به دلایلی می خوام با اکسس کار کنم . توی query میخوام از دستور case when که در اس کیو ال استفاده می کردم اینجا استفاده کنم ولی معادلش را نمی دونم میشه راهنماییم کنید . می خوام در query شرط بذارم.
ممنون
مهدی قربانی
یک شنبه 05 اسفند 1386, 23:54 عصر
سلام
دوست گرامی دستور Case در SQL چه عملی اجام می ده مقایسه ، شرط یا ..... ؟
m_zi
دوشنبه 06 اسفند 1386, 08:29 صبح
سلام
دوست گرامی دستور Case در SQL چه عملی اجام می ده مقایسه ، شرط یا ..... ؟
سلام
مثل تمام زبانهای برنامه نویسی وقتی چتد تا if داریم بهتر است از select case استفاده کنیم در اس کیو ال هم همینطوره مثال :
select code , name ,
case flag when 1 then "yes" else "no" end as flag ,
case male when 1 then "man" else "woman" end as male
from table1
در واقع شرط روی مقدار فیلدهاست .
با تشکر
مهدی قربانی
دوشنبه 06 اسفند 1386, 12:27 عصر
سلام
دوست عزیز اگر در کوئری می خواید این کار رو انجام بدید می تونید از تابع IIf استفاده کنید و اگر در محیط کدنویسی VBA کار میکنید می تونید از تابع Select Case استفاده کنید .
rezaei manesh
یک شنبه 08 اردیبهشت 1387, 20:20 عصر
سلام
دوست عزیز اگر در کوئری می خواید این کار رو انجام بدید می تونید از تابع IIf استفاده کنید و اگر در محیط کدنویسی VBA کار میکنید می تونید از تابع Select Case استفاده کنید .
من هم همین مشکل رو دارم در sql توسط کویری caseمی زاشتم اما در اکسس نمی شه تابع iif دو حالته هستش من حدود 5 حالت دارم
مهدی قربانی
سه شنبه 10 اردیبهشت 1387, 08:30 صبح
سلام
دوست گرامي تابع IIf محدود به دو شرط نيست :
IIf(a=1;TruePart1;IIf(a=2;TruePart2;IIf(a=3;Truepa rt3;IIf(truePart4;IIf(a=5;TruePart5;FalsePart)))))
shaghaghi
سه شنبه 10 اردیبهشت 1387, 09:24 صبح
...
select code , name ,
case flag when 1 then "yes" else "no" end as flag ,
case male when 1 then "man" else "woman" end as male
from table1
سلام
معادل دستور بالا در یک Query از اکسس
SELECT Table1.code, Table1.name, IIf([flag]=1,"yes","No") AS Flag2
, IIf([male]=1,"man","woman") AS male2
FROM Table1;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.