SQL - если значение существует в ячейке, используйте его в группе по - PullRequest
0 голосов
/ 13 декабря 2018

Извините за ужасный заголовок, но в основном у меня есть эти данные:

STATUS   | ID | Num | Name
--------------------------
Active   | 1  | 1A  | Jo
InActive | 1  | 1A  | Jo
Active   | 2  | 1B  | Phil
InActive | 3  | 1C  | Dave

Это будет таблица, которую я хочу вернуть

STATUS   | ID | Num | Name
--------------------------
Active   | 1  | 1A  | Jo
Active   | 2  | 1B  | Phil
InActive | 3  | 1C  | Dave

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

Я пробовал различные операторы group by и case, но не получил нигдебыстро.

Есть ли способ легко получить то, что мне нужно?

1 Ответ

0 голосов
/ 13 декабря 2018

Просто сделайте GROUP BY.Используйте MIN(), чтобы выбрать Active перед InActive.

select min(STATUS), ID, Num, Name
from tablename
group by ID, Num, Name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...