Присоединяйте только данные с самым высоким «рейтингом» в SQL - PullRequest
0 голосов
/ 12 марта 2012

В базе данных определенный пользователь имеет четыре уровня доступа к данным. Каждый уровень, который он имеет, сохраняется в записи базы данных с идентификатором пользователя и уровнем доступа в виде строки. (Это не очень хороший дизайн, но это то, с чем я должен работать.) Когда у человека есть определенный уровень доступа, он автоматически имеет все более низкие уровни. Поэтому, если у человека есть уровень 3, для него есть три записи в базе данных. Строки являются аббревиатурами того, что позволяет уровень, поэтому невозможно просто использовать MAX-функцию

Теперь мне нужно написать другую программу, использующую ту же базу данных, и я хочу написать SQL-оператор, который получает только самый высокий уровень на человека, без необходимости менять базу данных (чтобы другая программа не потерпела крах) .

База данных MySQL.

1 Ответ

1 голос
/ 12 марта 2012

Создайте временную таблицу, которая может присоединяться к пользовательской таблице и связывает уровни доступа (в строках) с целыми числами.Затем вы можете использовать MAX для этого целочисленного столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...