PDA

View Full Version : استفاده از دستور case در این کوئری



mj_nokhost
چهارشنبه 24 خرداد 1391, 20:19 عصر
با سلام خدمت همه ی دوستان
میخواستم ببینم دستور case رو چه جوری باید توی این کوئری که نوشتم به کار ببرم تا مقادیری که توی تصویر زیر به صورت null هستن رو با عدد 0 نشون بدم ؟

select code , name , (select sum (list_kharid.Mabkol) from list_kharid
group by Codename
having Codename = name_mo.Code and Codename > 0) as kol_kh

from name_mo
where Code > 0
order by Code


تصویر :

http://img4up.com/up2/76767785001982296835.jpg

Galawij
پنج شنبه 25 خرداد 1391, 10:28 صبح
سلام.
Case نمی خواد، تو این Query تابع ISNULL همین کار رو براتون انجام می ده:
select code , name , (select isnull(sum (list_kharid.Mabkol),0) from list_kharid
group by Codename
having Codename = name_mo.Code and Codename > 0) as kol_kh
from name_mo
where Code > 0
order by Code
البته بهتره یک ذره کدهاتون را بهینه کنید.:چشمک:

mj_nokhost
پنج شنبه 25 خرداد 1391, 17:26 عصر
مرسی از لطفتون دوست عزیز
ولی این کوئری که شا نوشتی هیچ تغییری بوجود نیماره و مقادیر null رو با 0 نشون نمیده !
من خودم تونستم حلش کنم و به نتیجه رسیدم .
خیلی ممنونم از لطفتون