|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.09.2016, 12:06 | #1 |
Новичок
Джуниор
Регистрация: 21.09.2016
Сообщений: 3
|
MS sql Удаление повторяющихся строк
Доброго дня.
Есть запрос. create table #Test (t1 nvarchar(50), t2nvarchar(50)) insert into #Test SELECT t1,t2 FROM DB group by t1,t2 HAVING (COUNT(*) > 1) Создается временная таблица для выборки повторяющихся значений по 2м полям (t1,t2). Далее из основной таблицы Table делается выборка с присоединением #Test select t0,t1,t2,t3,t4,t5 FROM Table inner join #Test on Table.t1= #Test.t1 and Table.t2=#Test.t2 group by t0,t1,t2,t3,t4,t5 order by Table.t1 В итоге получаю выборку по 2м повторяющимся полям с выводом из основной остальных полей. Вопрос следующий: Как в получившейся выборке или таблице #Test убрать строки, повторяющиеся по полям t3,t4? Спасибо. |
21.09.2016, 12:11 | #2 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
21.09.2016, 12:28 | #3 |
Новичок
Джуниор
Регистрация: 21.09.2016
Сообщений: 3
|
Таблица такая.
Иванов - такие строки мне нужны. Петров. Сидоров - такие не нужны. Если проще: ищу по совпадению t3,t4. Если есть вывожу. Но есть строки, где t1 и t2 совпадают - они не нужны. По идее убрать дубли строк не по 2м полям t3,t4 а по 4м Последний раз редактировалось Roman Huskar; 21.09.2016 в 12:32. |
21.09.2016, 12:51 | #4 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Код:
Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.09.2016 в 12:55. |
||
21.09.2016, 14:11 | #5 |
Новичок
Джуниор
Регистрация: 21.09.2016
Сообщений: 3
|
Всё бы ничего, но возникает ошибка:
Столбец OUSigning.ID недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY. т.е. когда в1м select (SELECT X.t1,X.t2,X.t3,X.t4) я пытаюсь выбрать кроме 4х столбцов еще несколько - они должны быть указаны в group by. В идеале такой запрос: SELECT X.t0 ,X.t1 ,X.t2 ,X.t3 ,X.t4 ,X.t5 ,X.t6 ,X.t7 ,X.t8 FROM DB X, (SELECT t3,t4 FROM DB group by t3,t4 HAVING COUNT(*) > 1) AS U WHERE X.t3=U.t3 AND X.t4=U.t4 group by X.t3,X.t4 HAVING COUNT(*) = 0 |
21.09.2016, 14:24 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну и правильно ругается. Нужно сделать его вложенным:
Код:
было = 0
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.09.2016 в 15:38. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
МАКРОС НА ПОИСК, СУММИРОВАНИЕ И УДАЛЕНИЕ ПОВТОРЯЮЩИХСЯ СТРОК | provodnikam | Microsoft Office Excel | 14 | 19.02.2015 07:53 |
Удаление повторяющихся строк из таблицы в SQL | II_Dimit_II | БД в Delphi | 9 | 31.05.2013 02:48 |
удаление повторяющихся строк из другого файла | ilbox | Microsoft Office Excel | 3 | 01.04.2012 17:48 |
Удаление пустых и повторяющихся строк | Marsel737 | Общие вопросы Delphi | 5 | 03.12.2009 00:58 |
SQL-запрос на выбор повторяющихся строк | stepchild | БД в Delphi | 2 | 07.06.2008 10:52 |