#0
by Помогите
Нужно найти все строки с дублирующимся полем, и в новое поле для всех этих строк присвоить значение идентификатора одной из строк. Например таблица: id поле1 0 Красный 1 Картошка 2 Карандаш 3 Красный 4 Два 5 Два 6 Два должна превратиться в такую таблицу: id поле1 НовоеПоле 0 Красный 0 1 Картошка 2 Карандаш 3 Красный 0 4 Два 4 5 Два 4 6 Два 4 В строку 0 и в строку 3 добавилось значение 0 в НовоеПоле, потому что 0 - это идентификатор одной из строк с дублирующимся значением "Красный" В строку 4, 5 и в строку 6 добавилось значение 4 в НовоеПоле, потому что 4 - это идентификатор одной из строк с дублирующимся значением "Два" В другие строки ничего не добавилось, т.к. там нет дублей. А теперь самое главное, вопрос: Как сделать такой запрос?
#2
by фобка
Первый запрос - простой select t.id, sum group by t.id having sum >1. Затем егоже иннер джойн между собой по id (так же как делают счетчик записей). Итоговый запрос left join с первой таблицей
#4
by Помогите
Ничего не понял. >> Первый запрос - простой select t.id, sum group by t.id having sum >1. выдаст пустой результат, потому что id уникальный, sum=1 всегда. >> егоже иннер джойн между собой по id Что это даст кроме удваивания столбцов?
#9
by фобка
Чтобы пронумеровать его нужно его заджойнить с самим собой по т1.ид<=т2.ид. Но если есть метод типа rownumber логичнее использовать его.
#10
by фобка
Третьим действием ты исходную таблицу соединяешь с тем что получилось в чтобы выцепить счетчик строк
#13
by dk
select Id , Поле1 , Влож.ID from исходные left join (select min(ID) Поле1 from исходные group by Поле1) влож
#14
by dk
select Id , Поле1 , Влож.ID from исходные left join (select min(ID) Поле1 from исходные group by Поле1) влож ON Поле1 = Влож.Поле1
#16
by фобка
тогда все проще Select t.name, t2.id from t as t left join (Select t.name, t.id group by t.name, t.id having sum1) >1) as t2 on t.name = t2.name
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Как добавить типовое соглашение с клиентом в ут 11
- Присвоение значения полю типа "Дата" в управляемых формах
- Заполнение полей в табличной части
- SpeechKit Mobile SDK уже пробовал кто? От Яндекса
- отбор в результате запроса
- Сервер печати Акселот (Axelot) - WMS4
- синоним объекта в тонком клиенте
- v7: штрих код развернуть на 90 град
- Что за поле Б_Идентификатор и для чего оно служит в ут 11?
- Обновление после отключения от РИБ Бух 3.0
- НДС после свертки БП 2.0
- Отладка закрытия месяца в БП 3.0
- v7: WinHttp.WinHttpRequest поддержка TLS возможна? Как?
- "Проваливаться" в отчетах БГУ 2.0.30.41
- СКД: Итоги в числовом поле, не являющимся ресурсом
- 2012R2 + 1C RemoteApp + XP = следы на экране
- УТ-11 как отключить проверку на платформу?
- v7: Получить значение субконто
- Картинка из хранилища значений в печатную форму
- Не сохраняется условное оформление в ут11