Sybase несколько строк и комбинаций в одну строку без таблицы временных - PullRequest
0 голосов
/ 11 сентября 2018

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

select ID, ActiveCode from Employees where CyrNyr = ('C' or 'N') and StatusCode = (1 or 2)

Полученный активный код должен быть либо A, либо I (активный или неактивный). Я смотрю на 2 столбца, чтобы определить результирующий активный код. Код состояния 1 активен, код состояния 2 неактивен. CYR / NYr (текущий год или следующий год) будет иметь значение C или N. У каждого сотрудника может быть строка с C, или N, или с обоими (максимум 2 строки). Я хотел бы одну строку с активным кодом A или I на основе одной или двух строк сотрудника следующим образом:

  • Два ряда, C с 1 или N с 1 (или оба) = A
  • Один ряд C с 1 = A
  • Один ряд N с 1 = A
  • Два ряда, C с 2 и N с 2 = I
  • Один ряд C с 2 = I

У работника не было бы ни одной строки N с 2.

...