Итак, у меня есть таблица с тремя столбцами - col1
, col2
и col3
.Мне нужно выбрать те значения col1
, которые совместно используют строки с только одним сочетанием col2
и col3
.В идеальном мире я бы написал так:
SELECT col1 FROM table
GROUP BY col1
HAVING COUNT(DISTINCT(col2, col3)) = 1
Как это сделать в реальном мире?
Пока у меня есть два решения - сгруппировать по col1
и col2
и поcol1
и col3
их объединяют результаты;или сгруппируйте по всем трем, затем сгруппируйте по col1
.К сожалению, я получаю (очень) различное число операций.
База данных находится на SQL Server 2005.