我是靠谱客的博主 想人陪蓝天,这篇文章主要介绍MySQL中遍历结果集根据结果再进行判断查询不同的数据表,将结果集再返回,case when和join的使用,现在分享给大家,希望可以做个参考。

case when then 和Join 的使用,解决条件下,链接同数据表

业务场景:用户和管理员都可以向活动表中添加数据,表中有两个属性,creator_id存放创建者的id,create_type创建人类型,0用户,1管理员,
要求,根据creator_id获取到创建者的名称,方便展示。分别有用户表和管理员表

思路一(常规解决,不建议)

先查出所有数据,再使用java进行遍历,根据type的不同,再根据id查询数据,再将数据赋值,繁琐,低效!!!!

思路二使用sql中的case when 和join联表

case when then end 与If else 类似,不懂,请查询资料

SELECT act.*,
CASE 
WHEN act.create_type=1    THEN sys.admin_name  //联表查询需要的数据
WHEN act.create_type=0 THEN reg.name
ELSE 0 END  AS createName   //别名
FROM activity act 
LEFT JOIN `system_user` sys ON act.creator_id=sys.sys_user_id  //关联表
LEFT JOIN `reg_alumniuser`  reg  ON act.creator_id=reg.reg_alumniuserid //关联表 

最后

以上就是想人陪蓝天最近收集整理的关于MySQL中遍历结果集根据结果再进行判断查询不同的数据表,将结果集再返回,case when和join的使用的全部内容,更多相关MySQL中遍历结果集根据结果再进行判断查询不同的数据表,将结果集再返回,case内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部