Вернуть строку, если она соответствует значениям, если только ее уникальный идентификатор не совпадает с неправильным значением - PullRequest
0 голосов
/ 09 июля 2020

Проблема:

У меня есть таблица, которая выглядит так:

enter image description here

I would like to return the following:

введите описание изображения здесь

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

Что я пробовал: Это все, что я получил, но он создает только список всех проектов, которые находятся на стадии закрытия, но я хотел исключить категории проектов, где ни один из его проектов не закрыт.

  SELECT Project_Category, Project, Stage, Reason
  FROM Table
  WHERE Project_Category IN (
    SELECT Project_Category
    FROM Table
    GROUP BY Project_Category
    HAVING COUNT(DISTINCT Project) > 1
  )
  AND Stage = 'Closed'
  AND Reason = 'no award'
  ORDER BY Project_Category

1 Ответ

1 голос
/ 09 июля 2020

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

Вы можете использовать not exists:

select t.*
from t
where not exists (select 1
                  from t t2
                  where t2.Project_Category = t.Project_Category and 
                        t2.Stage <> 'Closed'
                 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...