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
می تونید مشکل کوئری زیر رو حل کنید؟
ما سه جدول به نامهای 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