[英]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.