Обновлено использовать недавно представленную данные:
Растворы, используя исходные данные могут быть найдены в конце этого ответа.
Использование новых данных:
DECLARE @T TABLE([contract] INT, project INT, activity INT)
INSERT INTO @T VALUES(1000, 8000, 10)
INSERT INTO @T VALUES(1000, 8000, 20)
INSERT INTO @T VALUES(1000, 8001, 10)
INSERT INTO @T VALUES(2000, 9000, 49)
INSERT INTO @T VALUES(2000, 9001, 49)
INSERT INTO @T VALUES(3000, 9000, 79)
INSERT INTO @T VALUES(3000, 9000, 78)
SELECT DISTINCT [contract], activity FROM @T AS A WHERE
(SELECT COUNT(DISTINCT activity)
FROM @T AS B WHERE B.[contract] = A.[contract]) = 1
возвращается: 2000, 49
Решения с использованием исходных данных
ВНИМАНИЕ: Следующие решения используют данные ранее приведенные в вопрос и может не иметь смысла для текущего вопроса. Я оставил их прикрепленными только для полноты.
SELECT Col1, Count(col1) AS count FROM table
GROUP BY col1
HAVING count > 1
Это должно предоставить вам список всех значений в col1, которые не отличаются друг от друга. Вы можете поместить это в таблицу таблицы var или temp и присоединиться к ней.
Вот пример, используя подзапрос:
DECLARE @t TABLE(col1 VARCHAR(1), col2 VARCHAR(1), col3 VARCHAR(1))
INSERT INTO @t VALUES('A', 'B', 'C');
INSERT INTO @t VALUES('D', 'E', 'F');
INSERT INTO @t VALUES('A', 'J', 'K');
INSERT INTO @t VALUES('G', 'H', 'H');
SELECT * FROM @t
SELECT col1, col2 FROM @t WHERE col1 NOT IN
(SELECT col1 FROM @t AS t GROUP BY col1 HAVING COUNT(col1) > 1)
Это возвращает:
D E
G H
И еще один метод, который пользователи таблицы температуры и присоединиться:
DECLARE @t TABLE(col1 VARCHAR(1), col2 VARCHAR(1), col3 VARCHAR(1))
INSERT INTO @t VALUES('A', 'B', 'C');
INSERT INTO @t VALUES('D', 'E', 'F');
INSERT INTO @t VALUES('A', 'J', 'K');
INSERT INTO @t VALUES('G', 'H', 'H');
SELECT * FROM @t
DROP TABLE #temp_table
SELECT col1 INTO #temp_table
FROM @t AS t GROUP BY col1 HAVING COUNT(col1) = 1
SELECT t.col1, t.col2 FROM @t AS t
INNER JOIN #temp_table AS tt ON t.col1 = tt.col1
Рекомендуем также возвращается:
D E
G H
Что такое ПК для этой таблицы? – 2011-06-14 13:43:00