Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何基于同一行中的id获取名称?_Mysql_Sql_Database - Fatal编程技术网

Mysql 如何基于同一行中的id获取名称?

Mysql 如何基于同一行中的id获取名称?,mysql,sql,database,Mysql,Sql,Database,所以我是mySQl新手,正在努力学习。我想知道约翰厨师的名字。所以约翰·切夫纳是100岁。我想做一个查询,在那里我得到chefname Frank作为输出。我该怎么做?谢谢你的帮助 +-----+-------+--------+ | eNr | name | chefNr | +-----+-------+--------+ | 120 | John | 100 | +-----+-------+--------+ | 100 | Frank | 200 | +-----+--

所以我是mySQl新手,正在努力学习。我想知道约翰厨师的名字。所以约翰·切夫纳是100岁。我想做一个查询,在那里我得到chefname Frank作为输出。我该怎么做?谢谢你的帮助

+-----+-------+--------+
| eNr | name  | chefNr |
+-----+-------+--------+
| 120 | John  | 100    |
+-----+-------+--------+
| 100 | Frank | 200    |
+-----+-------+--------+
此查询:

select chefnr from tablename where name = 'John'
将在chefnr列中返回100。 您可以这样使用它:

select name from tablename
where enr = (select chefnr from tablename where name = 'John')
要知道约翰的厨师的名字。 看。 结果:


您需要一个两次涉及同一个表的联接

select  a.name as chefname 
from  my_table a 
inner join  my_table b on a.eNr = b.cheNr 
where  b.name is  'John'
或者使用chefNr

select  a.name as chefname 
from  my_table a 
inner join  my_table b on a.eNr = b.cheNr 
where  b.chefNr = 100

如何根据chefNr获取名称。所以你不用where子句来表示John,但是要知道chefNr 100是Frank,因为那是他的aNr。如果我理解你的意思:从tablename中选择name,其中chefNr=从tablename中选择enr,其中name='Frank';如果您知道chefNr=100,则更简单:从tablename中选择name,其中enr=100,假设我有100条记录。我想根据厨师的chefNr而不是特定的名字来检索厨师的名字。chefNr与aNr相同,但适用于级别较高的人。如果您有更多问题,我建议将其作为新问题发布。如何根据chefNr获得名称。所以你不用where子句来表示John,但是要知道chefnr100是Frank,因为那是他的aNr。假设我有100条记录。我想根据厨师的chefNr而不是特定的名字来检索厨师的名字。chefNr与aNr相同,但适用于级别较高的人。因此,它不是免费的编码服务。。但是一个问题/asnwer站点。。根据你的问题,有解决你问题的答案。。扩展请求。。每次有人发帖回答都不公平,似乎你误解了我的问题。我每次都试图详细说明。我每次都问同样的问题。jdmAdd是您尝试过的代码。这是一个简单的查询,你可以通过简单的谷歌搜索找到。
select  a.name as chefname 
from  my_table a 
inner join  my_table b on a.eNr = b.cheNr 
where  b.chefNr = 100