SQL - Как добавить счетчик в условие условия where - PullRequest
0 голосов
/ 29 июня 2018

Мой текущий запрос имеет следующую информацию:

| employee_no | employee_name | employee_dept | company_id |
------------------------------------------------------------
|    P101     |     John      |      C1       |    comp1   |
|    P101     |     John      |      C1       |    comp2   |
|    P102     |     Mary      |      C2       |    comp1   |   

Это упрощенная версия результата запроса. В настоящее время я хочу получить следующий результат:

| employee_no | employee_name | employee_dept | company_id |
------------------------------------------------------------
|    P101     |     John      |      C1       |    comp2   |
|    P102     |     Mary      |      C2       |    comp1   |

Я хочу, чтобы запрос проверял наличие двух записей об одном и том же сотруднике, запрос должен принимать запись comp2.

1 Ответ

0 голосов
/ 29 июня 2018

Следующая строка выберет последнюю строку, упорядоченную по company_id desc Однако, это будет альфа-сортировка и НЕ обязательно правильная последовательность. Так, если есть личность или дата вступления в силу, используйте это вместо Order By company_id

Пример

Select top 1 with ties *
 From  YourTable
 Order By Row_Number() over (Partition By employee_no Order By company_id desc)  
...