代码之家  ›  专栏  ›  技术社区  ›  Adam Kiss

选择,其中id=multiple from other select

  •  0
  • Adam Kiss  · 技术社区  · 15 年前

    我累了,不能把我的头绕过去。我有两张桌子:

    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 ,但我需要选择 菜单 . 身份证件 菜单 首先选择 * 菜单 在哪里? nr =10(或任何数字,我用PHP将其放入SQL中)

    我真的不能把我的头缠在所有的工会、左派成员、拥有和诸如此类的事情上…

    谢谢你

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

    4 回复  |  直到 15 年前
        1
  •  2
  •   Aaron    15 年前

    这就是你想要的吗?下面将返回内容中mi在menu.id和nr=10中的所有行。

    select *
    from content
    where mi in (select id from menu where nr=10)
    
        2
  •  7
  •   Winston Smith    15 年前
    SELECT C.* FROM content C
    INNER JOIN menu ON C.mi = menu.id AND menu.nr = 10;
    

    更新:

    对于您的评论,您可能会发现 W3 Schools section on SQL JOINS 开始使用的有用资源。

        3
  •  0
  •   Tufo    15 年前

    从Mi所在的内容中选择*(从nr=10的菜单中选择id)

        4
  •  0
  •   davidosomething    15 年前

    未测试

    从content,menu.nr=10和content.mi=menu.id中选择content.*。

    从菜单左侧选择c.*,menu.nr作为c on menu.id=c.mi,其中menu.nr=10