ورود

View Full Version : تبدیل در صورت null بودن به 0



masoud903
پنج شنبه 22 خرداد 1393, 10:42 صبح
با سلام
من از دستورات sql در اکسس استفاده میکنم
دو تا کویری ساختم که میاد لیست دستگاه های وارد و خارج شده رو محاسبه میکنه
اولی تعداد ورود دستگاه رو حساب میکنه countinter

SELECT count(nz([inter],0)) AS InStock, sabt.serial
FROM sabt
WHERE inter='yes'
GROUP BY sabt.serial;
دومی تعداد خروج رو حساب میکنه

SELECT count(nz([exit],0)) AS InStock, sabt.serial
FROM sabt
WHERE exit='yes'
GROUP BY sabt.serial;





و یک کویری محاسبه که میاد دستگاه های ورودی رو از خروجی کم میکنه و یه عدد بهم میده که اگه 0 بود میدونم یه دستگاه ورود و خروج شده و اگر 1 بود میدونم که یه دستگاه ورود شده اما خروج نشده

SELECT sum(([cointer]![InStock]-[coexit]![InStock])) AS [count], cointer.serial, coexit.InStock, cointer.InStock
FROM coexit RIGHT JOIN cointer ON coexit.serial = cointer.serial
GROUP BY cointer.serial, coexit.InStock, cointer.InStock
ORDER BY cointer.serial;



اما مشکل
وقتی یک دستگاه ورود بخوره اما خروج نداشته باشه sum=inter-exit جوابی برنمیگردونه چون exit برابر null میشه
فکر کردم باید null رو با این شرط
(COALESCE(([coexit]![InStock]),0))

یا با تابع isnull به صفر تغییر بدم اما نتیجه نگرفتم
ممنون میشم کدمو اصلاح کنید

masoud903
جمعه 23 خرداد 1393, 10:28 صبح
با سلام مجدد
کسی جواب نداد خودم درگیرش شدم راهش رو پیدا کردم گفتم بگم که کسی نیاز داشت مثل ما معطل نمونه
خودمم خندم گرفت چرا قبلش نفهمیدم اما با تابع nz درست شد