有些时候需要查询出特殊的一组数据,比如说TableA中的一个字段的值为a,b,c,而对应的a和b和c都是码表TableB中的一条数据,如下图所示:
TableA中的数据:
TableB中的数据:
此时想把TableA中的a,b,c显示为码表TableB中的对应的名称时,可以通过GROUP_CONCAT(expr)函数与FIND_IN_SET(str,strlist)函数相结合,前者是将分组函数通过','隔开显示在一行里,就是所谓的列转行,后者则是获取strlist中包含str的字段,简单来说,就是先将码表中的typeName分成一组,并用','隔开显示,如下图所示:
然后需要查出TableA中的数据,如下图:
最后再查询条件中用FIND_IN_SET(str,strlist)这个函数来匹配TableA中包含TableB中的typeId,结果如下图所示:
点击查看更多内容
6人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦