Я получаю запись, которая имеет два типа статуса, то есть активный и неактивный, и у нас может быть много неактивных статусов, но только один активный статус в таблице за раз, поэтому мне нужны все записи с активной и все неактивные записи, кроме активной.
запись таблицы: -
id | status | status_message | csr_id
-----+----------+-----------------
139 | inactive | Hi | 1
138 | inactive | Test campaigin | 1
134 | inactive | Test | 1
142 | inactive | Test ctr group | 2
143 | inactive | test 3 | 2
144 | inactive | test 3 | 2
145 | inactive | test 3 | 2
146 | inactive | test 8 | 2
147 | inactive | Itf | 2
148 | inactive | test 9 | 2
149 | inactive | Test evry1 | 2
150 | active | Test live cmrt1| 1
запрос для справки
(select * from profile where csr_id IN (2,1) AND status = 'active')
UNION
(select DISTINCT ON (csr_id) *from profile where csr_id IN (2,1) AND status = 'inactive') order by status;
Результат: -
id | status | status_message | csr_id |
-----+----------+---------------+--------
150 | active | test 9 | 1
134 | inactive | Test cmtt | 1
Ожидаемый результат: -
id | status | status_message | csr_id |
-----+----------+---------------+--------
150 | active | test 9 | 1
Решение есть?