【发布时间】:2013-02-04 10:25:30
【问题描述】:
我有 3 张桌子:
发布、发布评论和评论。
这是一个多对多的关系。
我想为每个帖子选择最后一条评论。 所以像 (select * from comment order by create_at DESC limit 1) 这样的东西在这里不起作用。
我想要类似的东西:
select *
from post as p
left join post_comment as pc on (pc.post_id = p.id)
left joint comment as c on (c.id = pc.comment_id)
left joint comment as c2 on (c2.id = pc.comment_id and c2.id > c.id)
where c2.id is null
它对于一对多关系非常有效,但对于多对多,我无法驾驭它。
注意:我重命名了我的表。在我的代码中,我不使用评论和帖子。而且我确实需要多对多关系。
谢谢你
【问题讨论】:
-
您使用的是哪个 DBMS?甲骨文? Postgres?
-
如果您使用 ORM,那么可能用哪个 ORM 和哪种语言标记您的问题。也许你会得到你需要的确切答案。
-
好的,我会标记它 Doctrine2
标签: sql doctrine-orm many-to-many max