首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mysql视图,ThinkPHP视图

mysql视图,ThinkPHP视图

作者头像
简单、
发布于 2018-07-18 07:10:51
发布于 2018-07-18 07:10:51
4.8K0
举报

MySQL的视图语句,就拿一个实例讲。我想把 role表和privilege表拼接。下面是我两张数据表的视图。

代码语言:javascript
AI代码解释
复制
SELECT a.* ,GROUP_CONCAT(b.pri_name) FROM 前缀(没有就不加)_role a LEFT JOIN 前缀(没有就不加)_privilege b ON FIND_IN_SET(b.id,a.par_id_list) GROUP BY a.id;
代码语言:javascript
AI代码解释
复制
SELECT a.* b.pri_name FROM role a LEFT JOIN privilege b ON FIND_IN_SET(b.id,a.par_id_list) GROUP BY a.id;
//将a表所有字段列出,b表的pri_name字段,给他们分组到a.id下面。
代码语言:javascript
AI代码解释
复制
SELECT a.* GROUP_CONCAT(b.pri_name) FROM role a LEFT JOIN privilege b ON FIND_IN_SET(b.id,a.par_id_list) GROUP BY a.id;
//将b.表pri_name字段全部显示出来。
代码语言:javascript
AI代码解释
复制
ThinkPHP 的视图方法。上图是有问题的join-> 是错的,正确的应该是 join()->,写的时候粗心了。

正确的语句:

代码语言:javascript
AI代码解释
复制
 $list = $role->field('a.*,GROUP_CONCAT(b.pri_name) pri_name')->alias('a')->join('LEFT JOIN car_privilege b ON FIND_IN_SET(b.id,a.par_id_list)')->limit($Page->firstRow.','.$Page->listRows)->group('a.id')->select();

Tags: None

Archives QR Code

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场