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

1つのセルに複数の値を含むSQLクエリ

    FIND_IN_SETを使用します カンマ区切りのリストで何かを検索します。

    SELECT i.MemberID, i.MemberName, GROUP_CONCAT(c.Course) AS CoursesInterested
    FROM CourseInterests AS i
    JOIN Course AS c ON FIND_IN_SET(c.CourseId, i.CoursesInterested)
    

    ただし、コースを1つの列に格納するのではなく、リレーションテーブルを作成することをお勧めします。このタイプの結合はインデックスを使用して最適化できないため、大きなテーブルではコストがかかります。



    1. MySqlトリガーでINSERT操作を中止するにはどうすればよいですか?

    2. T-SQL分割文字列

    3. 新しいMicrosoftAccess機能が登場します!

    4. ベストプラクティス:.NET:Oracleデータベースに対してPKを返す方法は?