PDA

View Full Version : مبتدی: مشکل نمایش تعداد خبر هر دسته خبری در گرید ویو



samtemehr
شنبه 09 اردیبهشت 1391, 21:09 عصر
سلام
من دو تا جدول ساختم یکی برای اخبار و یکی برای دسته های خبری الان می خوام در گرید ویو عنوان دسته خبری را با تعداد خبر در آن دسته نشان دهم ولی هروقت تعداد خبر در یک دسته صفر است آن دسته را نشان نمی دهد.
ممنون میشم کمک کنید.

hamid_shrk
شنبه 09 اردیبهشت 1391, 21:23 عصر
الان مشکلتون دقیقا کجاس؟
تو کوئری sql مشکل دارید؟

samtemehr
شنبه 09 اردیبهشت 1391, 22:21 عصر
ظاهرا مشکل تو کوئری هست
کوئری که نوشتم دسته ها رو همراه تعداد اخبار میاره اما اگر خبری برای دسته ای وجود نداشته باشد آن را صفر نشان نمی دهد بلکه اصلا دسته را در گرید ویو نمیاره

samtemehr
شنبه 09 اردیبهشت 1391, 22:25 عصر
SELECT tblFilesCats.FileCatName, COUNT(*) AS Total
FROM tblFiles CROSS JOIN
tblFilesCats
WHERE (tblFiles.FileCatId = tblFilesCats.FileCatId)
GROUP BY tblFilesCats.FileCatName

hamid_shrk
شنبه 09 اردیبهشت 1391, 22:37 عصر
دوست عزیز RIGHT JOIN و یا LEFT JOIN رو امتحان کنید

samtemehr
شنبه 09 اردیبهشت 1391, 22:46 عصر
وقتی left می کنم برای دسته ای که فایلی نداره عدد یک منظور میکنه

hamid_shrk
شنبه 09 اردیبهشت 1391, 22:59 عصر
دوست عزیز مشکل شما از Count(*) هست ، تو همون LEFT JOIN که نوشتید این تغییر رو بدید :

SELECT tblFilesCats.FileCatName, COUNT(tblFiles.FileCatId) AS Total

samtemehr
شنبه 09 اردیبهشت 1391, 23:13 عصر
خیلی خوشحالم ممنون دوستان مشکلم حل شد
SELECT FileCatName, (SELECT COUNT(*) AS Expr1 FROM tblFiles WHERE (FileCatId = tblFilesCats.FileCatId)) AS PostCounter FROM tblFilesCats
این روش مشکلم رو حل کرد.البته از شما هم متشکرم

hamid_shrk
شنبه 09 اردیبهشت 1391, 23:19 عصر
به هر حال اینم یک راه حل بود اما اگه با همون Left Join دستور بالا که من گفتم رو هم میذاشتید به جواب میرسیدید چون من تستش کردم.خوبه که به نتیجه رسیدید.
موفق باشید..