2016-08-09 10 views
1

あるMySQLのクエリは、私はmysqlデータベース内の2つのテーブルを持っている唯一の1

1. loc8_users (id,username,password,email,phone

割り当てる2. loc8_users_groups (id,user_id,group_id).

ここloc8_users_groupsストアグループIDの各ユーザーに送信します。

SELECT 
U.* 
FROM loc8_users U 
INNER JOIN 
(
    SELECT 
    UG.user_id 
    FROM loc8_users_groups UG 
    GROUP BY UG.user_id 
    HAVING COUNT(DISTINCT UG.group_id) = 1 
) AS t 
ON U.id = t.user_id 

説明:

SELECT 
UG.user_id 
FROM loc8_users_groups UG 
GROUP BY UG.user_id 
HAVING COUNT(DISTINCT UG.group_id) = 1; 

この

は私が

答えて

1

この試みを与えてください、ユーザーが一つのグループだけを持っているloc8_usersテーブルからすべての行を取得したいですクエリは、1つのグループにのみ関与している人のuser_idを返します。

これはuser_idですが、現在はuser_idのユーザー情報が必要です。したがって、このクエリ結果とloc8_usersのテーブルの間にINNER JOINを作成すると、一致するuser_idとなります。

+0

その仕事:)ありがとう –

+0

ハッピー:) Btw、私は簡単な説明を追加しました。あなたは@shammonを見てみるかもしれない – 1000111

関連する問題