Надеюсь, что у вас никогда не будет двух торговых представителей, у которых, похоже, есть те же инициалы.
Кроме того, сортировка и фильтрация - это две совершенно разные вещи. Вы говорите о сортировке в заголовке вопроса и первом абзаце, но ваш вопрос касается фильтрации. Поскольку вы можете просто ЗАКАЗАТЬ на поле, и в любом случае он будет использовать первые два символа, я дам вам ответ на часть фильтрации.
Вы не говоря уже о вашем RDBMS, но это будет работать в любом продукте:
SELECT
my_columns
FROM
My_Table
WHERE
sales_rep LIKE 'BS%'
Если вы используете переменную/параметр, то:
SELECT
my_columns
FROM
My_Table
WHERE
sales_rep LIKE @my_param + '%'
Вы также можете использовать:
LEFT(sales_rep, 2) = 'BS'
Я хотел бы держаться подальше от:
SUBSTRING(sales_rep, 1, 2) = 'BS'
В зависимости от вашего механизма SQL он может быть недостаточно умен, чтобы понять, что он может использовать индекс на последнем.
Какую базу вы используете? –
Mysql, Извините, я должен был указать. Соглашение об именовании - это то, что я поставил на место, я только начал работать в этом месте. Я понимаю, что это будет проблемой в будущем: \ – adam