昨天去面试碰到这样两个数据库问题。Q1。有三张数据库表,一个是User表,一个是 Role表,一个是Function表。要求把这三张表的结构设计出来。具体要求:1。环境是SQL Server数据库
2。User表与Role表是多对多的关系3。Role与Function表也是多对多的关系
Q2。数据库的User表里有一个叫做roles的字段,该字段里存放的值是像这样一些数据‘12,1,3,413,5,1’
具体要求:
1。请用一条SQL语句把这张表里roles字段里由每个逗号分隔开来的数字有等于1的记录查询出来(注意,像12这样的数字是不满足要求的)
5 回答
慕少森
TA贡献2019条经验 获得超9个赞
SELECT * FROM User WHERE CHARINDEX(',1,',','+roles+',')>0
这也会难倒许多人?有点夸张吧
我给你解决第一个问题:
user 表:UserID(编号) UserLogoName(登陆名字) UserRealName(真实姓名),roles (权限字符号串如‘1,2,3’)
Roles 表:RoleID(编号) RoleName(名称) functions(功能字符串 如:1,2,6 等)
Functions表:FID(编号) FName(名称)
说明:roles 和functions字段时间彼此多对多的关系
- 5 回答
- 0 关注
- 564 浏览
添加回答
举报
0/150
提交
取消