簡體   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