2012-01-11 49 views
0

私は2つのテーブル:COMMENTSUSERSを持っています。私はCOMMENTSテーブルにユーザーの名前を保存しますが、ユーザーのアバターの詳細はUSERSテーブルから取得する必要があります。複数のテーブルで複数回選択クエリ

SELECT c.id, c.tarih, c.yorum, c.yorumcu, 
(SELECT avatarID FROM USERS WHERE Username=c.yorumcu) AS avatarID 
FROM COMMENTS c WHERE c.id = ? 

末尾に疑問符がNEWS_IDに置き換えられます。 (例:news.php?id=5

私はこれをコード化することができましたが、すべてのものではなく、「最後のコメント」の詳細しかデータベースから取得しません。 (5人がページにコメントしたとしましょう。残りの部分は無視して最後の(5番目)のコメントしか得られません)

誰かが私を助けることができますか?

ps。ヨルムクは、「注釈者」を意味します。 COMMENTS.CommenterUSERS.Usernameは同じです。

答えて

2

「WHERE c.id =?」ではなく、WHERE句が「WHERE c.news_id =?」にならないようにしてください。 ?私はc.idが各コメントに固有であると仮定しています。私はCOMMENTS.idは、テーブル・コメントの一意の識別子であることを前提としてい

select c.id, c.tarih, c.yorum, c.yorumcu, avatarID 
FROM COMMENTS,USERS 
where USERS.Username=c.yorumcu and c.id = ? 
+0

今私は愚かだと感じます。どうもありがとう。私はnews_idではなくcomment IDをチェックしていました。夢中になっていた... – Aristona

0

はこれをみては?

この場合、1つのコメントしか返されないという論理です。

COMMENTSテーブルにNEWSIDの識別子がありますか? これを使用して、複数のコメントを取得する必要があります。

+0

あなたの努力に感謝します。上記のクエリは、c.idをc.news_idに変更した後、魅力的な働きをしました。 – Aristona

0

関連する問題