Mysql 简单的查询以获得准确的结果

Mysql 简单的查询以获得准确的结果,mysql,sql,oledb,Mysql,Sql,Oledb,尊敬的用户: 我有一张名为Employee的表格,如下所示 EmpId | EmpName | ManagerId 1 Smith 10 2 John 11 10 Ted 2 11 Lowson 1 每个员工都有一个经理。每个经理都是员工 现在,我想写一个查询,让所有员工的名字都和他们的经理的名字一致 我试过这样的东西>>> select a.EmpName,b.EmpName from Emplo

尊敬的用户:

我有一张名为Employee的表格,如下所示

EmpId | EmpName | ManagerId
 1        Smith    10
 2        John     11
 10       Ted       2
 11       Lowson    1  
每个员工都有一个经理。每个经理都是员工

现在,我想写一个查询,让所有员工的名字都和他们的经理的名字一致

我试过这样的东西>>>

select a.EmpName,b.EmpName from Employee a,b where b.ManagerId=a.EmpId
但失败了

请指导我。

听起来像是家庭作业:

您的语句遗漏了FROM子句中的
。你应该仔细阅读
连接
。您必须将表本身连接起来,才能为每个员工找到经理。另一个提示(因为所有其他答案在这一点上都失败):您需要一个
左连接

听起来像是家庭作业:

您的语句遗漏了FROM
子句中的
。你应该仔细阅读
连接
。您必须将表本身连接起来,才能为每个员工找到经理。另一个提示(因为所有其他答案在这一点上都失败):您将需要一个
左连接

尝试以下操作:

select 
t1.EmpName as EmoName, t2.EmpName as ManagerName
from   Employee t1 
LEFT join Employee t2 on t1.ManagerId = t2.EmpId
select 
t1.EmpName as EmoName, t2.EmpName as ManagerName
from   Employee t1 
LEFT join Employee t2 on t1.ManagerId = t2.EmpId
试试这个:

select 
t1.EmpName as EmoName, t2.EmpName as ManagerName
from   Employee t1 
LEFT join Employee t2 on t1.ManagerId = t2.EmpId
select 
t1.EmpName as EmoName, t2.EmpName as ManagerName
from   Employee t1 
LEFT join Employee t2 on t1.ManagerId = t2.EmpId
最基本的是

select emp.EmpName, mgr.EmpName
from Employee emp, Employee mgr
where emp.ManagerId = mgr.EmpId
你很可能需要一些比这更复杂的东西来掩盖,例如没有经理的员工,但这个查询是你的一个开始。

最基本的

select emp.EmpName, mgr.EmpName
from Employee emp, Employee mgr
where emp.ManagerId = mgr.EmpId
你很可能需要一些比这更复杂的东西来掩盖,例如没有经理的员工,但是这个查询对你来说是一个开始。

试试这个

试试这个,

你会得到结果的

EmpName(Lowson,Td,Jon)经理(MangerName)

因此,结果将仅显示在一行中

你会得到结果的

EmpName(Lowson,Td,Jon)经理(MangerName)


所以结果只会出现在一行中

试试这个,你错过了什么

select a.EmpName,b.EmpName from Employee a, Employee b where b.ManagerId=a.EmpId

试试这个你错过了什么

select a.EmpName,b.EmpName from Employee a, Employee b where b.ManagerId=a.EmpId


如果一名员工被管理,那么管理Id将保持什么?ManagerId仅为员工Id我认为它将为0(零)什么0?我不明白哈哈哈所有的答案都是负号:),听起来没人是对的:)如果一个员工是管理者,那么管理者Id将保持什么?管理者Id只是员工Id我认为它将是0(零)什么?我不明白哈哈哈所有的答案都是负数:),听起来没人是对的:)这个好方法可以让所有人都投反对票,只有你在比赛中,斯塔迪米投反对票,因为他们没有离开。当他们纠正后,我将删除否决票。在回答问题之前,请仔细阅读问题。让我们看看,与其自己发布答案,不如告诉他们如何获得答案,然后否决其他试图搞砸的人。然后,一旦他们纠正了自己的错误,就取消你的反对票,但在这个过程中,你自己(不是我)的反对票就结束了,因为有人认为你是个垃圾袋。这可能是你反思和思考你的方法在现实生活中的影响如何的好时机。这是在这个论坛中回答的最佳方式,展示如何做这件事,而不是发布完整的答案,给出学习的机会,+1:-)这是一个很好的方法,可以让所有人都投反对票,只让你留在比赛中。斯塔季米投反对票是因为他们没有离开加入。当他们纠正后,我将删除否决票。在回答问题之前,请仔细阅读问题。让我们看看,与其自己发布答案,不如告诉他们如何获得答案,然后否决其他试图搞砸的人。然后,一旦他们纠正了自己的错误,就取消你的反对票,但在这个过程中,你自己(不是我)的反对票就结束了,因为有人认为你是个垃圾袋。这可能是你反思和思考你的方法在现实生活中的影响如何的好时机。这是在这个论坛中回答的最佳方式,展示如何做这件事,而不是发布完整的答案,给出学习的机会,+1:-)这个查询和我写的查询是一样的吗?这个查询和我写的查询是一样的吗?为什么这只是复制@AdeelAhmed的过去代码??或者只是为了获得投票权?为什么这只是复制过去的@AdeelAhmed代码??或者只是为了获得投票权?这与左联答案相同。除此之外,左联接将包括主boss雇员,该雇员的manager字段为空。(这个例子有一个循环关系,在现实世界中,有人会是主要的老板)。这与左连接答案相同。除此之外,左联接将包括主boss雇员,该雇员的manager字段为空。(这个例子有一个循环关系,在现实世界中,有人会是主要的老板)。