צריך עזרה בעניין הבא :

lj101

New member
צריך עזרה בעניין הבא :

select tbl.name, tbl.phone,tbl2.orderNum,tbl2.tax,
case tbl.a
where '1' then 'כן'
where '2' then 'לא'
end
as [תשובה]
from tbl left join tbl2 on tbl.id=tbl2.id
where [תשובה] = 'כן'


הבעיה שאני לא יכול להשתמש בשדה מחושב, אלא אם אני משתמש בכל החישוב בקריטריונים, הכינוי [תשובה] זו רק דוגמה קטנה, כי בפועל יש לי שדה שמחלץ שמחלץ שמות משדה והאפשרויות נמצאות ב-CASE
 

AvidaEinav

New member
השאלה לא כל כך מובנת אבל..

שים לב שב CASE רשמת WHERE במקום WHEN... (ב MSSQL).

אם אתה רוצה להיות מסוגל להשתמש בתנאי ששמת ב WHERE, אתה חייב לצאת רמה אחת החוצה, במקרה שלך ה SELECT זוהי הפעולה האחרונה, מה שאומר שהתנאי ב CASE קורה לאחר הסינון של ה WHERE שלך.

פשוט תעשה עוד SELECT עם השדות שלך (ללא קידומות הטבלאות שלהם) וב FROM תשים את כל מה שרשמת בלי ה WHERE הסופי (בתוך סוגריים כמובן) ותוציא את ה WHERE החוצה..
ראה דוג' בקובץ..
 

lj101

New member
אופססס, אתה צודק, עשיתי העתק הדבק...

ולא שמתי לב
 
למעלה