4

1つ以上のコンマ区切りの数値を含むMySQLテーブルを取得しました。これらの番号は別のMySQLテーブルのIDを参照しており、witchには画像の名前も含まれています。

フィールド「images」に「1,43」が含まれている行を選択し、2番目のテーブルからID1と43の2つの画像を表示したいと思います。

異なるフィールドに2つの番号を入力する必要がありますか?私はそれらを同じものに保つことを望みます。

4

1 に答える 1

5

を使用します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

テーブルの構造を変更する時間がある場合。してください。大規模なデータベースで実行している場合、上記のクエリの実行は遅くなります。

于 2013-03-25T07:18:16.813 に答える