手记

MogonBook_MySql_配合码表查询

有些时候需要查询出特殊的一组数据,比如说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人推荐
随时随地看视频
慕课网APP