PDA

View Full Version : سوال: دستور Select از دو جدول!



vb_bmw
یک شنبه 05 آبان 1387, 10:44 صبح
سلام و خسته نباشید خدمت دوستان!

من برام یه سوال پیش اومده که شما فرض کنید که ما دوتا جدول داریم که این دو تا جدول با یک فیلد مثلا CatID به هم متصل هستند!

جدول اول دسته های وبلاگ و جدول دوم پست ها هستند!

حالا اگه بخوایم تمام دسته ها و تعداد پست هایی که در باره اون پست زده شده رو پیدا کنیم!که میشه این:



SELECT Cat.CID, Cat.Name COUNT(Posts.PID) AS CatsCount
FROM (Cat INNER JOIN
Posts ON Cat.CID = Posts.CID)


ولی مشکل اینجاست که این دستور فقط دسته هایی رو نمایش میده که پستی داشته باشند!

من می خوام همه رو نمایش بده چه با پست چه بی پست!

چه کنیم؟:متفکر:

.:مسعود:لبخندساده:

amin_alexi
یک شنبه 05 آبان 1387, 10:50 صبح
سلام
به جاي INNER JOIN از FULL Join استفاده كن .

vb_bmw
یک شنبه 05 آبان 1387, 21:30 عصر
متاسفانه این کار رو انجام دادم ولی جواب نداد!

amin_alexi
دوشنبه 06 آبان 1387, 10:19 صبح
اين دستوري كه خودت نوشتي رو بدون Error اجرا مي كنه !
آخه تو از Count استفاده كردي ولي Group By نداري ! (شايد اينجا كامل ننوشتي !)
اين رو تست

SELECT Cat.CID, Cat.Name ,COUNT(Posts.PID) AS CatsCount
FROM Cat Left JOIN Posts ON Cat.CID = Posts.CID
Group By Cat.CID, Cat.Name

vb_bmw
دوشنبه 06 آبان 1387, 20:29 عصر
آقا واقعا شرمنده یه گندی توی دیتابیس زده بودم!

مشکل حل شد!

ممنونم! :)