Mysql 选择,其中id=来自其他选择的多个

Mysql 选择,其中id=来自其他选择的多个,mysql,select,multiple-tables,Mysql,Select,Multiple Tables,我太累了,我无法控制自己。我有两张桌子: table menu @id = id, @nr = id of parent |======|======| | id | nr | |======|======| | 10 | 9 | | 11 | 10 | | 12 | 10 | | 13 | 10 | |======|======| table content @id = id, @mf = menu - first in tree, @mi =

我太累了,我无法控制自己。我有两张桌子:

table menu
@id = id, @nr = id of parent
|======|======|  
|  id  |  nr  |
|======|======|
|  10  |   9  |
|  11  |  10  |
|  12  |  10  |
|  13  |  10  |
|======|======|

table content
@id = id, @mf = menu - first in tree, @mi = menu item linked to content
|======|======|======|
|  id  |  mf  |  mi  |
|======|======|======|
|  85  |   9  |  11  |
|  89  |   9  |  12  |
|  95  |   9  |  13  |
|======|======|======|
现在,我需要从content中选择所有行,其中mi=menu.id,但我需要首先从menu中选择menu.id,方法是从menu中选择*from menu,其中nr=10或任何数字,我使用PHP将其放入我的sql中

我真的不能对所有的工会、左派加入、拥有和诸如此类的事情耿耿于怀

多谢各位


编辑:谢谢大家,可惜我只能挑一个好的:

这就是你们想要的吗?下面将返回内容中mi位于menu.id且nr=10的所有行

select *
from content
where mi in (select id from menu where nr=10)

从mi插入的内容中选择*从nr=10未测试的菜单中选择id

从content、menu中选择content.*其中menu.nr=10和content.mi=menu.id

从菜单左侧选择c.*,menu.nr,在menu.id=c.mi(其中menu.nr=10)中将内容作为c连接

SELECT C.* FROM content C
INNER JOIN menu ON C.mi = menu.id AND menu.nr = 10;
更新:


作为对您评论的回应,您可能会发现这是一个有用的资源,可以开始使用。

@Winston,他是第一个尝试帮助的人,比您更需要声誉:D尽管,感谢您的解决方案,也获得了投票支持-我们谈论的是每天点击+/-500次的网站,内部选择最多35项,因此,效率不是问题:@Adam-虽然这一次可能并不重要,但了解这两种解决方案的差异可能会有所帮助,以便下次您可以使用更广泛的工具。理论上,一个好的优化器应该能够将这样的子查询转换为联接,但我认为MySQL不能。你可以向我解释。@Winston-这就是为什么这次我选择Aaron的答案是好的。。。当我更了解这件事时,我会感谢你的解决方案:谢谢,虽然我选择了更简单的答案,但我会调查你的回答,试着理解它并从中学习:]