zoukankan      html  css  js  c++  java
  • 来自中油瑞飞的SQL笔试题20131202

    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;
    输出结果:
     

  • 相关阅读:
    使用 GPUOperator 与 KubeSphere 简化深度学习训练与 GPU 监控
    基于 WeDataSphere Prophecis 与 KubeSphere 构建云原生机器学习平台
    在 Kubernetes Pod 中如何获取客户端的真实 IP
    云原生的 WebAssembly 能取代 Docker 吗?
    KubeSphere 开源 KubeEye:Kubernetes 集群自动巡检工具
    对于 Serverless, DevOps, 多云及边缘可观察性的思考与实践
    终于可以像使用 Docker 一样丝滑地使用 Containerd 了
    你真的理解 Kubernetes 中的 requests 和 limits 吗?
    顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)
    GLUT回调函数
  • 原文地址:https://www.cnblogs.com/riasky/p/3455399.html
Copyright © 2011-2022 走看看