1つ以上のコンマ区切りの数値を含むMySQLテーブルを取得しました。これらの番号は別のMySQLテーブルのIDを参照しており、witchには画像の名前も含まれています。
フィールド「images」に「1,43」が含まれている行を選択し、2番目のテーブルからID1と43の2つの画像を表示したいと思います。
異なるフィールドに2つの番号を入力する必要がありますか?私はそれらを同じものに保つことを望みます。
を使用しますFIND_IN_SET
。以下のようなテーブルがあると仮定すると、
表1
+++++++++++
Images
+++++++++++
1,43
表2
+++++++++++++++++
ImageID Image
+++++++++++++++++
1 ....
43 ....
サンプルクエリ:
SELECT b.*
FROM Table1 a
INNER JOIN Table2 b
ON FIND_IN_SET(b.ImageID, a.Images) > 0
テーブルの構造を変更する時間がある場合。してください。大規模なデータベースで実行している場合、上記のクエリの実行は遅くなります。