3

これをできるだけ簡単に説明しようと思います。私はクエリの設計があまり得意ではないので、どんな助けでも大歓迎です。

私は3つのテーブルを持っています:(この質問のためにusersテーブルの不要な列を切り捨てました)

USERS:
id,    username,    password

PENDINGREVIEW:
id,    articleid,    requestid,    content,    writerid,    datewritten

ARTICLES:
id,    title,    length,    requestedby,    content,    writtenby,    daterequested,    datecompleted

だから私が持っていると言いますreview.php。特定のユーザーのテーブルにreview.phpあるすべての記事を表示したい。pendingreviewだから、このようなもの:

SELECT * FROM pendingreview WHERE requestid = $userid (where $userid = the id of the user)

私が実際に表示したいのは、テーブルreview.phpからの記事のリストと、それらの記事のそれぞれに対応するテーブル内の記事の数です。リストは、ユーザーが要求した記事のみで構成されている必要があります。articlespendingreview

だから私はreview.phpこのようになりたい:

  • Your "How to build a bike" article request has 3 articles pending review.
  • Your "How to mow the lawn" article request has 12 articles pending review.

私がこれを行う方法についての助けをいただければ幸いです!

4

2 に答える 2

3
SELECT  a.title, COUNT(*) TotalPending
FROM    Articles a
        INNER JOIN PendingReview b  
            ON a.ID = b.articleID
WHERE   b.RequestID = 'ID HERE'
GROUP   BY a.title

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-03-19T08:10:39.543 に答える
1

これは、リクエストを作成するのに役立つ場合があります。

MySql 3 つのテーブルを結合する

http://www.techotopia.com/index.php/Joining_Tables_in_MySQL

于 2013-03-19T08:13:58.663 に答える