【问题标题】:Need to get the data with below format需要获取以下格式的数据
【发布时间】:2020-03-05 08:07:41
【问题描述】:

给定以下用户和组表:

[Users]
ID  Name        Groupid
1   User1       1
2   User2       2
3   User3       2
4   Manager1    3
5   Manager2    3

[Groups]
ID  Name            Managerid
1   Group1          4
2   Group2          5
3   ManagerGroup    NULL

我需要有如下输出:

User_Name, Group_Name,  Manager_Name
User1       Group1      Manager1
User2       Group2      Manager2
User3       Group2      Manager2
Manager1   ManagerGroup ‘’
Manager2   ManagerGroup ‘’

【问题讨论】:

  • 我不知道我应该使用什么类型的连接来获得问题中格式的结果
  • 那么,据您所知,您认为可能需要什么样的查询?阅读不同类型的连接以及它们产生的结果。然后尝试每种类型,看看是否能得到好的结果。至少尝试获得部分结果,即使您无法获得全部结果。如果你不尝试,你什么也学不到。如果我们只是告诉你所有的答案,你也不会真正学到任何东西。为了成功,有时你必须先失败。
  • 无论如何,我们不是免费的写我的代码或做我的想法的服务。一旦您对我们提出有关联接或错误消息等的具体问题,Will 将帮助您解决问题。不过,这里有一些线索: 1. 您可能会需要多个连接。 2. 同一个表可以在一个查询中连接多次。
  • 您的问题是什么?
  • 对不起伙计们,我是 SQL Server 的新手,需要帮助我尝试了以下操作:选择 U.name 作为 User_Name,G.name 作为 Group_Name --,M.name 作为 Manager_Name from [Users ] U 内连接 [groups] G on G.ID=U.groupid

标签: sql database-administration


【解决方案1】:

你已经很接近你所拥有的了,你只需要将 managerid 加入到 users 表中。

SELECT u1.name as username, gr.name as Group_Name, u2.name as Manager_name from users u1 
INNER JOIN groups gr on u1.groupid = gr.id
INNER JOIN users u2 on u2.id = gr.managerid

【讨论】:

    猜你喜欢
    • 2022-11-30
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 2020-01-20
    相关资源
    最近更新 更多