繁体   English   中英

从一个mysql表中进行选择,其中id与另一个mysql表中的选择结果匹配

[英]select from one mysql table where ids match results from select of another mysql table

我知道我可以在PHP中完成此操作,但是我确实需要在一个查询中使用它,以便于分页。 我有2张桌子,如下所示:

S_MATTERS

id | name
---------------------
 0 | Client 1
 1 | Client 2
 2 | Client 3

S_LINKS

mid | uid
---------------------
 2  | 0007
 0  | 0007

所以我想

select * from s_matters where id = (select mid from s_links where uid = 0007)

显然,这不是正确的语法,我只需要从s_matters表中获取所有客户端名称,其中另一个表上的uid为0007(s_matters上的id = s_links上的mid)。

select m.*
    from s_matters m
        inner join s_links l
            on m.id = l.mid
    where l.uid = '0007'

尝试将“ =”更改为“ in”

 select * from s_matters where id in (select mid from s_links where uid = 0007)
SELECT * FROM s_matters JOIN s_links ON ( s_matters.id = s_links.mid ) WHERE s_links.uid = '0007'

内部联接是您要寻找的

select * from s_matters 
  inner join s_links on s_links.mid = s_matters.id 
where s_links.uid = '0007'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM