@CityzenUNDEAD

Как сформировать запрос?

Таблицы:
SELECT [CaseNumber], [ID], [Guid] FROM Case
SELECT [ID], [CaseID], [Level], [Desc] FROM Instance

Нужно получить только те записи из таблицы Case, где Level встречается только как равный = 1. Сложность в том, что одному конкретному Case может принадлежать несколько записей в таблице Instance, и какие-то из них могут быть с Level = 1, а какие-то с Level =2. Нужно подсчитать сколько записей в таблице Case, у которых нет записей в таблице Instance с Level > 1.
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
SELECT COUNT ( DISTINCT CaseID )
  FROM Instance
  WHERE NOT [CaseID] IN ( SELECT [CaseID] FROM Instance WHERE [Level] > 1 )
Ответ написан
Комментировать
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Ваш вопрос не очень понятен. если Вам нужно посчитать количество кейсов то см. ответ Константин Цветков
Если нужно Выбрат такие кейсы - то можно и так:
SELECT [Case].[ID] 
FROM [Case]
JOIN [Instance] ON [Instance].[CaseID] = [Case].[ID]
GROUP BY [Case].[ID]
HAVING MAX([Level]) = 1;


https://sqlize.online/sql/mssql2022/2588333f045fea...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы