![](/img/trans.png)
[英]Select all ids from a MySql table by a user level and store the number of ids per level in an array?
[英]subqueries: select from one table based on matching user ids with team ids and output 2 dimensional array
我想從login_users
進行選擇,以獲取以下字段: name
, username
和user_id
。
我有一個帶有team_id以及相關的user_id
的單獨表teams
,因此,例如,我可能有bob與team1,jack與team2,jim與team1,以及paul與team2(所有單獨的行,不是bob和paul->小組2)。 如果我提供一個帶有team_ id的函數,我希望能夠找到所有關聯的user_id
,然后將該數據與login_users
匹配,以輸出一個二維數組,該數組包含所有團隊成員的name
, username
和user_id
。
SELECT username, user_id, name FROM login_users WHERE EXISTS ( SELECT user_id FROM teams WHERE team_id= $team_id );
我知道它與子查詢有關,我以前從未做過子查詢,而且我覺得自己走錯了路。 此外,我接下來將如何生成二維數組?
為什么只子查詢?? 為什么不JOIN
SELECT u.username, u.user_id, u.`name` FROM login_users u
JOIN teams t ON(u.user_id = t.user_id)
WHERE team_id= $team_id
如果要使用“存在”子查詢執行此操作,則它必須是相關子查詢:
SELECT username, user_id, name
FROM login_users
WHERE EXISTS (SELECT user_id
FROM teams
WHERE team_id = $team_id and
teams.user_id = login_users.team_id
);
您缺少user_id
上的條件。 該版本的查詢的意思是“當team_id
存在於teams
時, team_id
從login_users
獲取所有行”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.