2 つのテーブルをカンマ区切りの値で結合する
問題:
テーブルが 2 つあります: ノートとポジション。 Notes テーブルには、カンマ区切りの部門 ID を格納する「forDepts」という列が含まれています。これらのテーブルを結合し、'forDepts' 値を、Positions テーブルの対応する部門名に関連付ける必要があります。
必要な出力:
nid | DepartmentName |
---|---|
1 | Executive, Corp Admin, Art |
2 | Art, Marketing |
解決策:
データベース構造は変更できないため、次の SQL クエリを使用します。目的の出力を実現するには:
SELECT a.nid, GROUP_CONCAT(b.name ORDER BY b.id) DepartmentName FROM Notes a INNER JOIN Positions b ON FIND_IN_SET(b.id, a.forDepts) > 0 GROUP BY a.nid
説明:
このクエリを実行すると、Notes テーブルの 'forDepts' 列の値が対応するカンマ区切りの値に置き換えられた、目的の出力を取得できます。役職テーブルからの部門名。これにより、提供された PHP コードを使用してデータを Excel ファイルにエクスポートすることが容易になります。
以上がSQL でカンマ区切り値を使用してテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。