2012-03-12 10 views
0

データベースでは、特定のユーザーには4つのレベルのデータへのアクセス権があります。彼が持っている各レベルは、userIDとアクセスレベルを文字列としてデータベースレコードに格納されます。これは良いデザインではありませんが、これは私が処理しなければならないことです。あるレベルのアクセス権を持っている人は、自動的にすべてのレベルが下がります。つまり、ある人がレベル3を持っていれば、そこには3つのデータベースレコードがあります。文字列は、レベルが許すものの略語なので、単純にMAX関数を使用することはできません。SQLで最も高い「ランク付け」を持つデータのみを結合する

これで、同じデータベースを使用して別のプログラムを作成する必要がありました。データベースを変更することなく、一人当たり最高レベルを取得します(したがって、他のプログラムはクラッシュしません)。

データベースはMySQLです。

+1

各レベルのアクセスレベル文字列はどのように見えますか? – Yuck

答えて

1

ユーザーテーブルに結合できる一時テーブルを作成し、アクセスレベル(文字列内)を整数に関連付けます。その整数列にMAXを使用できます。