نمایش نتایج 1 تا 2 از 2

نام تاپیک: کسی می دونه مشکل این کوئری چیه؟

  1. #1
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    تهران-ایران
    پست
    11

    کسی می دونه مشکل این کوئری چیه؟

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

  2. #2

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

    سلام
    می تونی دوتا 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

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •