簡體   English   中英

使用先前查詢的結果搜索MySQL表

[英]Search a MySQL table using results from a previous query

我想不出這個問題的簡單措辭,所以我就把它放在那兒:是否可以使用另一個查詢的結果來搜索MySQL表? (使用PHP的價值)

我想做的就是檢索用戶聯系方式的所有分數。

例如:

SELECT user_2_id FROM contacts WHERE member_id = '1'

現在,我想從表“ scores”中檢索所有結果,其中member_id與上述查詢中的任何結果(任何“ user_2_id”)匹配。

我只是想不出該怎么做...但這是我要獲取的數據:

SELECT score_id FROM scores WHERE member_id = 'ANY RESULT FROM THE PREVIOUS QUERY'

我想在不使用PHP的WHILE循環的情況下執行此操作,因為如果用戶恰好有200個聯系人(不太可能),則查詢很多。

我敢肯定有一個相當簡單的方法可以做到這一點,但我只是想不到。 請幫助!

SELECT s.score_id FROM contacts c INNER JOIN scores s ON s.member_id = c.user_2_id WHERE c.member_id = 1

您可以使用子查詢:

SELECT score_id FROM scores WHERE member_id IN (SELECT user_2_id FROM contacts WHERE member_id = '1')

或者您可以使用join:

SELECT s.score_id 
FROM scores s 
INNER JOIN contacts c 
ON s.member_id = c.user_2_id 
WHERE c.member_id = '1'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM