У меня есть таблица в SQLServer 2008r2, как показано ниже.
Я хочу выбрать все записи, в которых столбец [Fg]
= 1, который последовательно ведет строку [Id]
, в значение 2 для каждой комбинации [T_Id]
и [N_Id]
.
Могут быть случаи, когда запись до [Fg]
= 2 не = 1
Может быть любое количество записей, где значение [Fg]
= 1, но только одна запись, где [Fg]
= 2 для каждой комбинации [T_Id]
и [N_Id]
.
Итак, для примера ниже я хочу выбрать записи с [Id]
(4,5) и (7,8,9) и (19,20).
Любые записи для [T_Id]
3 и 4. исключаются.
Ожидаемый результат
Пример набора данных
DECLARE @Data TABLE ( Id INT IDENTITY (1,1), T_Id INT, N_Id INT, Fg TINYINT )
INSERT INTO @Data
(T_Id, N_Id, Fg)
VALUES
(1, 2, 0), (1, 2, 1), (1, 2, 0), (1, 2, 1), (1, 2, 2), (2, 3, 0), (2, 3, 1),
(2, 3, 1), (2, 3, 2), (3, 4, 0), (3, 4, 0), (3, 4, 0), (3, 4, 2), (4, 5, 0),
(4, 5, 1), (4, 5, 0), (4, 5, 2), (5, 7, 0), (5, 7, 1), (5, 7, 2)