PDA

View Full Version : سوال: کسی می دونه مشکل این کوئری چیه؟



Nick2k
پنج شنبه 04 آذر 1389, 08:53 صبح
سلام دوستان، عید سعید غدیر را به همه تبریک میگم
می تونید مشکل کوئری زیر رو حل کنید؟
ما سه جدول به نامهای Authors و articles و images داریم. هر نویسنده میتونه تعدادی مقاله و عکس داشته بشه. حالا در این کوئری می خواهیم ببینیم هر نویسنده چندتا مقاله و چندتا عکس ارسال کرده. من دستور sql زیر رو نوشتم ولی نمی دونم چرا وقتی نویسنده، عکس ارسال کرده باشه تعداد مقالاتش را هم برابر عکسهاش نشون میده مثلا اگر 3 عکس داشته باشه و 1 مقاله ، تعداد مقالاتش را هم 3 نشون میده ولی اگه عکسی نداشته باشه همون 1 مقاله نشون میده که درسته.

SELECT Authors.authorID, Authors.name, Authors.family, COUNT(articles.articleID) AS articleCount, COUNT(images.imgID) AS imageCount
FROM Authors LEFT OUTER JOIN
images ON images.authorID = Authors.authorID LEFT OUTER JOIN
articles ON Authors.authorID = articles.authorID
GROUP BY Authors.authorID, Authors.name, Authors.family

zizi_zizi69
پنج شنبه 04 آذر 1389, 18:38 عصر
سلام
می تونی دوتا group by بنویسی یکی برای Image یکی هم برای Article
بعد نتیجه ها رو باهم یکی کنی،یکجورایی merge کنی.


SELECT t1.AuthorID, t1.articlecount,t2.imagcount
from

(SELECT AuthorID, COUNT(ArticlesID) AS articlecount
FROM dbo.Article
GROUP BY AuthorID) as t1,

(SELECT AuthorID, COUNT(ImageID) AS imagcount
FROM dbo.Image
GROUP BY AuthorID)as t2

where t1. AuthorID=t2.AuthorID