sql >> データベース >  >> RDS >> Mysql

特定のグループに属していないユーザーを照会しますか? (EXCEPTを使用したかったが、MySQLはそれをサポートしていないようです)

    NOT IN() 、または <> ANY ()

    SELECT CaseId
    FROM CaseIdUsers
    WHERE CaseID NOT IN (
      SELECT CaseId 
      FROM CaseIdUsers
        JOIN GroupMembers ON GroupMembers.User = CaseIdUsers.Sid
        JOIN Groups ON GroupMembers.Group = Groups.Sid
      WHERE Groups.Name = 'MyGroupName'
    )
    

    または、 LEFT JOINを使用することもできます GROUP BYを使用

    SELECT CaseId 
    FROM CaseIdUsers
      LEFT JOIN GroupMembers ON GroupMembers.User = CaseIdUsers.Sid
      LEFT JOIN Groups ON GroupMembers.Group = Groups.Sid
        AND Groups.Name = 'MyGroupName'
    HAVING COUNT(Groups.Sid) = 0
    



    1. MySQL INSERT INTO...VALUESおよびSELECT

    2. foreachループを使用したLaravelの更新/編集

    3. DB::raw式を使用したPOINT/POLYGONなどのLaravelモデル

    4. 既存のデータベースを中心にフラスコアプリケーションを構築するにはどうすればよいですか?