难倒了很多人的两个数据库问题!!

昨天去面试碰到这样两个数据库问题。
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这样的数字是不满足要求的)

MM们
浏览 565回答 5
5回答

拉丁的传说

有点像用户权限表设计一样

慕少森

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字段时间彼此多对多的关系

Smart猫小萌

怎么还不给分?

ITMISS

@传说哥: 兄弟,你用的这个函数很巧妙的解决了这个问题。我等另外一个问题解决后,会给你加分的!

江户川乱折腾

沙发,哈哈
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server