Предположим, у меня есть этот запрос:
SELECT col1, col2, col3
FROM tab1
GROUP BY col1, col2, col3
HAVING COUNT(*) > 1 -- **************EDIT****************
Я хочу, чтобы этот набор столбцов был уникальным.Но теперь я хочу добавить col4, который можно дублировать, чтобы он не работал, если я добавлю его и сгруппирую.
Есть ли лучший способ сделать это, чем в SQL Server 2008 R2?
SELECT a.col1, a.col2, a.col3, b.col4
FROM (
SELECT col1, col2, col3
FROM tab1
GROUP BY col1, col2, col3
HAVING COUNT(*) > 1 -- **************EDIT****************
) a JOIN tab1 b
ON a.col1 = b.col1
AND a.col2 = b.col2
AND a.col3 = b.col3
РЕДАКТИРОВАТЬ: Извините, ребята, это то, что я искал.Вы были правы для запроса, который я сначала разместил, простой SELECT сделает это.Мне нужно показать все значения col4
для каждой отдельной группы col1, col2, col3
, когда существуют дубликаты.
Спасибо.