タイプ、値、会社、グループなどの列がある設定テーブルのようなものがあります。そのテーブルから、ユーザー情報が他の列と一致するかどうかに応じて、すべての異なるタイプの1つの行のみを選択する必要があります。
例私は会社1とグループ1にいて、設定テーブルは次の行で構成されています。
+--+-----+-------+---------+-------+
|id|type | value | company | group |
+--+-----+-------+---------+-------+
|1 |1 | 50 | 1 | 1 |
|2 |1 | 70 | NULL | NULL |
|3 |2 | 1 | NULL | NULL |
|4 |2 | 99 | 1 | 1 |
|5 |2 | 999 | NULL | 1 |
|6 |3 | 500 | NULL | NULL |
+--+-----+-------+---------+-------+
会社またはグループの設定がある場合はそれを使用し、そうでない場合はデフォルトの行を使用します(会社とグループはNULLです)。会社やグループのような列がさらにいくつかあります。
この場合に必要な設定であるため、そのテーブルからid:s 1、4、および6を選択する必要があります。ID1とID4は私のユーザー情報と一致し、ID 5も一致しますが、ID4は完全に一致します。タイプ3のより近い設定がないため、ID6が一致します。
何百もの会社やグループが存在する可能性があるため、正しい設定値を取得するためにPHPアルゴリズムを作成したくありません。それは悲惨なことになるでしょう。
行を選択してDESC社に注文しようとしましたが、タイプをグループ化すると機能しません。また、companyがNULLではないmax(company)に参加しようとしましたが、行き詰まり、助けを求めています。
誰かがこの事件で私を助けてくれたら幸いです!