- mysql-mybatisselect语句问题
-
聚码交流
-
0
1

- yhuxAvNbtxUM
0000-00-00 00:00:00
- 回帖
消息提醒续,这个消息可能是别人直接回复了你的文章,这时需要进行数据库操作关联文章表获取相应文章的内容【消息提醒:您的文章xxx有了新的回复】,也可能是别人回复了你的评论这时关联的就是评论表来获取评论的内容【消息提醒:您的评论xxx有了新的回复】,消息点击后即可出现显示详情这样子。数据库表结构如下mbelongbid为消息所属的文章的id,mbelongcid为消息所属的评论的id。当mbelongcid为空时说明消息是直接回复文章,此时关联的是文章表;当mbelongcid不为空时说明消息回复的对象是某一条评论,此时关联的是评论表。sql语句要怎么写才能符合这种需求?现在的想法是:selectr.*,<iftest="mbelongcid==null">`blog`.btitle</if><iftest="mbelongcid!=null">`comment`.ccontent</if>from(selectmid,mreferuid,mbelongbid,mbelongcidfrommessagewheremid=#{_parameter})r,<iftest="mbelongcid==null">`blog`wherer.mbelongbid=`blog`.bid</if><iftest="mbelongcid!=null">`comment`wherer.mbelongcid=`comment`.cid</if>直接这样写是有问题的,大致的想法就是根据mbelongcid是否为null去关联不同的表获取不同的字段,有没有好的解决方案或者建议?