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