表格评论包含评论及其回复
CREATE TABLE `comment` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`comment` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
具有reply_to
和response_id
的表comment_id
这两个都是注释表中记录的ID。
CREATE TABLE `reply_to` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`response_id` int(11) NOT NULL,
`comment_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
问题:如何使用左外部联接显示所有评论及其回复?
此问题从此页面出现
Database design for comments and replies 为什么下面的sql在这里不起作用?
SELECT c.comment, r.comment as reply
FROM Comment c
LEFT OUTER JOIN Comment r on c.id = r.id
LEFT OUTER JOIN reply_to rt on rt.response_id = r.id
答案 0 :(得分:1)
仍然不清楚您想要的结果是什么样子,但是链接到该帖子的原始查询(带有ANSI-89的查询)给出了我期望的结果:
因此,我使用适当的联接重写了该查询,看起来像这样:
var tmpStr = "This is an example of animal : - Cat - Dog - Bird".replacingOccurrences(of: "-", with: "\n-")
yourLabel.text = tmpStr
yourLabel.numberOfLines = 0
yourLabel.lineBreakMode = .byWordWrapping
如果您希望看到没有回复的评论:
然后您可以使用左外部联接,如下所示:
SELECT
oc.comment,
rc.comment
FROM
comment oc
INNER JOIN
reply_to r
ON r.comment_id = oc.id
INNER JOIN
comment rc
ON r.response_id = rc.id