は、次の表を検討(サンプルテーブルを、これらは、テーブル内の正確な値ではありません)mysqlで2つのコンマ区切りのリスト(group_concatで取得)の間に包含チェックを実装することは可能ですか?
+-----+--------+--------+
| uid | pqid | rqid |
+-----+--------+--------+
| 1 | 1,2,3 | 1,3 |
| 2 | 1,2 | 2,3 |
| 3 | 2 | 2,3 |
| 4 | 2,3 | 3 |
| 5 | 1,3 | 1,3 |
+-----+--------+--------+
私はpqid
に含まれるrqid
を持っている、行を選択しようとしています。 「含む」とは、rqid
のコンマ区切りIDをすべてカンマ区切りリストpqid
に入れることを意味します。 上記の例の行では、uid
1,4および5を選択する必要があります。
これはmysqlで実行可能なものですか?もしそうなら誰かを助けることができますか?
PS:(この が役立つ場合)pqid
とrqid
の
- この値は、列のIDがソートされる
group_concat
- によってヌルはっきりとしない生成され
複数の値を1つの列に保存しないでください。あなたはテーブルデザインを変更する必要があります。 –
'FIND_IN_SET'と呼ばれるものがありますが、これはCSVリストではなく' rqid'に_single_値がある場合にのみ機能します。それでも、テーブルにCSVデータを保存しないでください。 –
@TimBiegeleisenは 'FIND_IN_SET'を指摘してくれてありがとうございます。 – n00b