Имея таблицу с 3 столбцами:
ID category flag
1 A 1
2 A 0
3 A 0
4 B 0
5 C 0
Я хочу выбрать все строки, которые имеют flag = 1
хотя бы один раз для каждой категории.
Ожидаемые результаты:
ID category flag
1 A 1
2 A 0
3 A 0
Это может быть решено с использованием временной таблицы следующим образом:
select ID into #tempTable from someTable where flag = 1
select * from someTable join #tempTable on someTable.ID = #tempTable.ID
Но я бы предпочел решение с группировкой, которое я изо всех сил стараюсь придумать. Любая помощь будет оценена.