2つのテーブルをリンクするための「ミドルマン」テーブルを作成したくない場合は、フィールドにコンマ区切りの値を指定できます。find_in_set
を使用するだけです。 クエリを実行するときのmysql関数
find_in_setの使用
SELECT
log.user_id, log.activity_id, log.tags,
GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
log
LEFT JOIN tags
ON
FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
log.activity_id
GROUP_CONCATはフィールドをグループ化し、デリミネーターで区切ります。デフォルトは,
です。