CREATE TABLE `comments` (
`comment_id` int(11) NOT NULL AUTO_INCREMENT,
`comment_parent_id` int(11) NOT NULL DEFAULT '0',
`user_id` int(11) NOT NULL DEFAULT '0',
`comment_text` varchar(200) NOT NULL DEFAULT '',
`comment_created` int(20) NOT NULL DEFAULT '0',
`comment_updated` int(20) NOT NULL DEFAULT '0',
`comment_replies_count` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`comment_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
各コメントには複数の返信を含めることができますが、返信に返信することはできません。したがって、誰かがコメントに返信すると、挿入された行の親 ID 列に返信したコメントの ID が含まれます。
すべてのコメントを取得したいのですが、コメントに返信がある場合は、最後の返信を取得したいと思います。
SELECT c1.*
FROM comments c1
WHERE comment_parent_id = '0'
ORDER BY comment_created DESC;
So if c1.comment_replies_count > 0 I would like to...
SELECT c2.*
FROM comments c2
WHERE comment_parent_id = c1.comment_id
ORDER BY comment_created DESC Limit 1;
これは 1 つのクエリで達成できますか? または、コメントへの最後の返信を取得するために、php ループ ステートメント中にデータベースに別の呼び出しを行うのが最善ですか?
事前に感謝し、私はまだ学んでいるので、私の無知を許してください.