我在 MYSQL 中有一个用于某些 QA 论坛(例如 stackoverflow)的表“帖子”,其中包含以下示例数据。
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(1,'Q',NULL,'sometext');
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(2,'Q',NULL,'randomtext');
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(3,'A',1,NULL);
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(4,'A',1,NULL);
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(5,'Q',NULL,'titletext');
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(6,'A',1,NULL);
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(7,'A',2,NULL);
INSERT INTO POSTS (postID, type, parentID, QuesTitle) VALUES(8,'A',2,NULL);
postID 是主键,parentID 是指 postID。一个“Q”(问题)类型的帖子可以有多个“A”(答案)帖子(由它们的 parentID 显示)。只有“Q”帖子有标题,而“A”帖子没有标题(NULL)
我想选择“A”类型的帖子以及他们的帖子 ID、他们的父 ID 和它引用的 Questitle。例如-所需的结果是-
postID parentID QuesTitle
3 1 sometext
4 1 sometext
6 1 sometext
7 2 randomtext
8 2 randomtext
使用'with'子句 CTE 会更容易,但 MYSQL 不支持它。有人可以帮助我在 MYSQL 中实现它吗?