コンマで区切られた州のリストを列に保存しています。
このように: 1,2,3,4,5,6,7,8.. など、ID だけです。
次に、ID 8 の状態を持つすべての行を取得するクエリを実行しています。これは、状態のリストに項目がほとんどない場合に機能します。
これはクエリとテーブルです。
mysql> select id_partner, name, states from partner where 8 IN (states);
+------------+----------------+--------------------+
| id_partner | name | states |
+------------+----------------+--------------------+
| 1 | Inmo Inmo | 8,9,10 |
| 2 | Foto Piso | 8,9,10,11,12,13,14 |
| 4 | PARTNER 001-A | 8 |
| 6 | EnAlquiler | 8 |
| 7 | Habitaclia.com | 8,43,50 |
+------------+----------------+--------------------+
5 rows in set (0.00 sec)
列の状態にコンマで区切られた 10 個の ID が含まれている場合は機能しますが、50 個以上の場合は機能しなくなります。上記の結果では、ID 8 を含む多くの状態を持つ行は表示されません。
何か案が?パートナーと状態の間の関係を保存するために別のテーブルを作成する必要がないために、このアプローチを使用していますか、それとももっとうまくやるべきですか?