SQL - порядок по оператору

У меня есть такие таблицы, как:

table A
id name   email
1  test1  ex@ex.com
2  test2  ex@ex.com
3  test3  ex@ex.com
4  test4   ....
5  test5   ....

table B
id catA    catB   year member 
1  false   true   2011  2
2  true    false  2011  3
3  fals    true   2010  5

И я хочу получить каждую строку в таблице A и отсортировать ее следующим образом:

FIRST, get user 2 (current year, based on table B)
SECOND, get user 3 (current year, based on table B)
after that get users that is in table B
after that get all other users.

Я знаю, что у меня может быть определенный sql для получения первых двух пользователей и только остальных. Но разве я не смогу получить их все с помощью красивого оператора ORDER by? Это похоже на ограничение оператора первого порядка воздействием только на первую строку ...

5
задан Vadim Kotov 2 August 2017 в 14:55
поделиться