0

質疑応答システムでは、質問と回答のコメントとそのコメントのタイトルを取得しようとしています。

私はこれまでにコメントの内容を取得してきましたが、コメントが回答にある場合、質問のタイトルが取得されないという問題があります。では、質問と回答の両方からすべてのコメントを取得し、質問のタイトルを取得するようにクエリを作成するにはどうすればよいですか。

ここまでやってきました。

SELECT c.postid, p.title, c.type, c.userid, c.content, c.parentid, u.handle, u.email, u.avatarblobid, u.avatarwidth, u.avatarheight FROM qa_posts p
JOIN qa_posts c ON (p.postid = c.parentid)
LEFT JOIN qa_users u ON c.userid = u.userid
WHERE c.type = 'C'
AND p.flagcount = 0
ORDER BY c.postid DESC
LIMIT 5

これが私の表の画像です。type列はそれぞれ Q、C、A の質問、コメント、回答です。

ここに画像の説明を入力

どうもありがとう

編集: - - - - - - - - - - - - - - - - - - - - - - - - -------------

条件付きでチェックしようとしましたが、このコードも機能しません..専門家がこのコードを修正するようにガイドしてくれることを願っています

JOIN qa_posts AS parentposts
ON qa_posts.postid=(
        CASE
            LEFT(perentposts.type, 1)
            WHEN 
                'A'
            THEN 
                parentposts.parentid 
            ELSE 
                parentposts.postid
        END
    )
JOIN qa_posts AS cposts 
ON parentposts.postid=cposts.parentid
LEFT JOIN qa_users AS cusers 
ON cposts.userid=cusers.userid 

JOIN (SELECT postid FROM qa_posts 
WHERE type=$
ORDER BY qa_posts.created DESC 
LIMIT 5) 
y ON cposts.postid=y.postid 
WHERE qa_posts.type='Q' 
AND ((parentposts.type='Q') OR (parentposts.type='A'))
4

1 に答える 1

0

これを試して

 SELECT * FROM qa_posts p
    LEFT JOIN qa_users u ON c.userid = u.userid
     WHERE p.type = 'C'
       AND p.flagcount = 0
       ORDER BY p.postid DESC
       LIMIT 5
于 2013-08-02T18:51:42.707 に答える