来自中油瑞飞的SQL笔试题20131202

原创 2013年12月02日 22:47:42

1、有三张表,用户表,用户角色表,角色表,
使用sql显示如下内容:
用户ID,用户名,超级管理员,录入员,会计
也就是角色用逗号分隔。
解:

1、填充数据到表User
select * from [User]
INSERT INTO [northwind].[dbo].[User]
           ([ID]
           ,[NAME])
     VALUES
           (1
           ,'zhaohy')
           INSERT INTO [northwind].[dbo].[User]
           ([ID]
           ,[NAME])
     VALUES
           (2
           ,'zhangyy')
GO

2、填充数据到表role
select * from [role]
INSERT INTO [northwind].[dbo].[Role]
           ([ID]
           ,[RoleName])
     VALUES
           (1
           ,'senior software engineer')
           INSERT INTO [northwind].[dbo].[Role]
           ([ID]
           ,[RoleName])
     VALUES
           (2
           ,'project manager')
                    INSERT INTO [northwind].[dbo].[Role]
           ([ID]
           ,[RoleName])
     VALUES
           (3
           ,'UI Disigner')
                               INSERT INTO [northwind].[dbo].[Role]
           ([ID]
           ,[RoleName])
     VALUES
           (4
           ,'Tester')
GO
3、填充数据到表Role_User
select * from Role_User
INSERT INTO [northwind].[dbo].[Role_User]
           ([RoleID]
           ,[UserID])
     VALUES
           (1
           ,1)
GO
INSERT INTO [northwind].[dbo].[Role_User]
           ([RoleID]
           ,[UserID])
     VALUES
           (2
           ,1)
           INSERT INTO [northwind].[dbo].[Role_User]
           ([RoleID]
           ,[UserID])
     VALUES
           (3
           ,1)
                      INSERT INTO [northwind].[dbo].[Role_User]
           ([RoleID]
           ,[UserID])
     VALUES
           (4
           ,2)

4、查询出来:
drop table #result;
select * into #result from (select u.ID,u.NAME,ru.RoleID,r.RoleName from [user] u inner join Role_User ru on ru.UserID =u.ID inner join [Role] r
on ru.RoleID=r.ID) as t;
select * from #result;
select id,name, [RoleName] = stuff((select ',' + [RoleName] from #result t where id = #result.id for xml path('')) , 1 , 1 , '') 
from #result 
group by id ,name;
drop table #result;
输出结果:
 

 

网易2017内推C++笔试题目

[编程题] 分苹果 n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需...
  • damotiansheng
  • damotiansheng
  • 2016年08月09日 10:36
  • 7226

经典面试智力题200+题和解答

招聘时期到了,总少不了需要准备智力题。考来考去大多是各种旧题,本来是考智力的事情,现在几乎已经变成了题海战术的考试,所以我们也不能在这一块落后。学习各种奇巧淫技,扩展一下思路,同时免得笔试面试吃亏。 ...
  • csuzhaoqinghui
  • csuzhaoqinghui
  • 2016年08月03日 21:06
  • 6315

2016网易内推笔试编程题合集(一)

本文章收录了2016年暑期网易内推笔试编程题合集(一),共八题,题目来源于牛客网。...
  • jhgkjhg_ugtdk77
  • jhgkjhg_ugtdk77
  • 2016年08月12日 16:54
  • 8954

北大青鸟 y2 Java和C# 和SQL select笔试题 特献给大家分享

  • 2010年04月10日 15:42
  • 642KB
  • 下载

150多家公司笔试题(C/C++/SQL)及部分面试问题

  • 2012年05月11日 13:14
  • 6.87MB
  • 下载

SQL笔试题(转载的)

  • 2013年01月25日 14:04
  • 24.72MB
  • 下载

sql经典笔试题二(含答案)

  • 2010年01月04日 15:40
  • 28KB
  • 下载

SQL笔试题解答()

  • 2009年04月15日 00:15
  • 56KB
  • 下载

SQL Server 面试笔试题小结

  • 2009年02月25日 10:06
  • 11KB
  • 下载

SQL笔试题答案(可以参考一下)

  • 2009年02月19日 11:43
  • 59KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:来自中油瑞飞的SQL笔试题20131202
举报原因:
原因补充:

(最多只允许输入30个字)