Как получить отличную запись postgresql с помощью объединения - PullRequest
0 голосов
/ 17 июня 2020

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

запись таблицы: -

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

Решение есть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...