さまざまな形式 (points_id) で、多数のフィニッシャー (N) の中で特定の場所 (P) に対して受け取ったポイントを返す MYSQL ルックアップ テーブルを用意します。イベントごとに異なるポイント構造が使用されます。付与されるポイントは、フィニッシャーの数 (N) によって異なる場合があります。そうでない場合もあります。以下は、2 つのサンプル構造を含む短いバージョンのテーブルです。points_id -1 ポイントは N に依存します。 Point_id -2 ポイントは依存しません。
ポイント
points_id | P | N | points |
1 | 1 | 3 | 90 |
1 | 1 | 2 | 85 |
1 | 1 | 1 | 80 |
1 | 2 | 3 | 60 |
1 | 2 | 2 | 50 |
1 | 3 | 3 | 30 |
3 | 1 | | 100 |
3 | 2 | | 90 |
3 | 3 | | 80 |
3 | 3 | | 70 |
だから私の質問:1)テーブルデータにワイルドカードを入れる方法はありますか。たとえば、空白を示す N 列に % が含まれていて、このクエリを実行した場合。
SELECT points from t1 WHERE points_id=3 and P=3 and N=2
それは96を返しますか?? PS私はこれがうまくいかないことを知っていますが、私の考えを示しています。
2)高速にしたいので、より大きなクエリで使用する手順に入れることができます。上に示したことを行うための非常に簡単な方法がない限り、私は推測しています。最速の方法は、points_id =3 の場合にすべての異なる N の行を持つことです。本当?