mysql 三个表连接查询

本文介绍了如何通过三个表——权限表、功能模块表及用户表的内连接查询,来获取用户对应的功能权限信息。文中详细展示了正确的SQL查询语句,并对比了使用子查询和GROUP BY方法的不足。

权限表(permission)10

字段名称

类型

约束

描述

authorityid

integer

Pk

not null

权限流水号id    PK

userNameId

int

not null

用户名id   FK

functionid

integer

Not null

功能 id    FK

lookPermission

int

not null

浏览

addPermission

int

not null

添加

editPermission

int

not null

编辑

deletePermission

int

not null

删除

checkPermission

int

not null

审核

againstrCheckPermission

int

not null

反审核

statementPermission

int

not null

报表

 

功能模块表(functionComponents)3

字段名称

类型

约束

模块名称描述

functionCpId

integer

pk

功能id   PK

funDescribe

Varchar(100)

not null

模块名称

otherInfo

Varchar(500)

not null

备注

 

用户表(userInfo)

字段名称

类型

约束

描述

userNo

integer

Pk

not null

权限流水号id    PK

userName

varchar2(20)

not null

用户名id   FK

userPwd

varchar2(20)

not null

浏览

role

varchar2(20)

not null

浏览

查询出用户对应的功能的权限

 

刚开始,我用的是子查询,没有实现

Select  userNo ,userInfo.userName, userInfo.userPwd, funDescribe, lookPermission, addPermission, editPermission, deletePermission, checkPermission, againstrCheckPermission, statementPermission  from  userInfo, permission, functionComponents

 

改为:

Select  userNo ,userInfo.userName, userInfo.userPwd, funDescribe, lookPermission, addPermission, editPermission, deletePermission, checkPermission, againstrCheckPermission, statementPermission  from  userInfo, permission, functionComponents group by userNo 

 

同样不对!

 

后来就换成,三个表内连接的查询

Create view ` userFunPermission `AS

Select  userNo ,userInfo.userName, userInfo.userPwd, funDescribe, lookPermission, addPermission, editPermission, deletePermission, checkPermission, againstrCheckPermission, statementPermission  from  userInfo, permission, functionComponents

 

可以了!

 

转载于:https://www.cnblogs.com/nucdy/p/5789715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值