У этого может быть очевидное решение, но я не могу вспомнить, как это назвать в данный момент.Фильтрация списка по выбору
Допустим, у вас есть таблица вроде этого:
Member | ID | Type
------ | ------ | ------
100 | 1 | A
100 | 2 | B
101 | 3 | A
102 | 4 | A
103 | 5 | B
104 | 6 | B
104 | 7 | A
104 | 8 | A
Если член имеет А я хочу, чтобы вернуть все строки с А для этого члена.
Если у члена нет A, тогда я хочу вернуть все строки с B для этого члена.
Я понимаю, что могу написать решение, используя НЕ СУЩЕСТВУЮЩИЕ, но мне было интересно, есть ли более общее решение (в случае нескольких категорий). В основном я хочу отфильтровать, существует ли категория в предпочтительном порядке.
В этом примере результат будет возвращать:
Member | ID | Type
------ | ------ | ------
100 | 1 | A
101 | 3 | A
102 | 4 | A
103 | 5 | B
104 | 7 | A
104 | 8 | A
Спасибо.
Это, кажется, сделать трюк. Раньше я не слышал о dense_rank(). Спасибо! – JJ32
@ JJ32 Функции окна - наши друзья. Хорошо стоит время, чтобы им комфортно. Приветствия. –