PDA

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;