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

多対多のテーブルがピボットで結合します

    DISTINCTを指定する必要があります 、つまり

    select users.name, group_concat( DISTINCT programs.name)
    

    MySQLドキュメントこちら

    クエリを次のように変更してみてください:

    SELECT users.name, group_concat(programs.name) 
    from users
    LEFT JOIN linker on linker.user_id = users.id
    LEFT JOIN programs on linker.program_id = programs.id
    GROUP BY users.id
    

    これにより、nullが得られます プログラムが関連付けられていないユーザーの場合。それらを除外するには、WHERE programs.id IS NOT NULLを追加するだけです。 。



    1. PythonでSQLServerに接続するAWSLambda関数

    2. Android:データベース行を削除した後にカーソルを再クエリしてListViewを更新するにはどうすればよいですか?

    3. JPA:MySQLはテーブルは存在しないと言っていますが、実際には存在します

    4. テーブルの列内のコンマ区切り値を正規化してからクエリを実行する方法