|
Поиск задублированных элементов | ☑ | ||
---|---|---|---|---|
0
ХочуСпец
16.05.12
✎
09:23
|
Есть Таблица значений
Код Наименование 001 Номен1 002 Номен2 003 Номен1 004 Номен3 005 Номен2 Надо найти дубли (по Наименованию) Т.е. эта таблица должна преобразоваться в: Код Наименование НомерГруппыДубля 001 Номен1 "Группа 1" 003 Номен1 "Группа 1" 002 Номен2 "Группа 2" 005 Номен2 "Группа 2" |
|||
1
Wobland
16.05.12
✎
09:26
|
соединяй само с собой по равенству наименований и неравенству кодов
|
|||
2
ХочуСпец
16.05.12
✎
09:31
|
(1) как заполнить колонку НомерГруппыДубля?
|
|||
3
Wobland
16.05.12
✎
09:32
|
(2) ТЗЛевая.Код
|
|||
4
Maxus43
16.05.12
✎
09:34
|
(3) я ваще не понял что это за данные в НомерГруппыДубля. явно не код
|
|||
5
ХочуСпец
16.05.12
✎
09:36
|
(4) не код конечно )
Это номер группы Группа дублей 1 --- 001 Номен1 --- 003 Номен1 Группа дублей 2 --- 002 Номен2 --- 005 Номен2 |
|||
6
ХочуСпец
16.05.12
✎
09:37
|
что то наподобие в обработке ПоискИЗаменаДублирующихсяЭлементов с диска ИТС
|
|||
7
Wobland
16.05.12
✎
09:38
|
(5) ну пройдись потом по результату да проставь, что надо
|
|||
8
ХочуСпец
16.05.12
✎
09:38
|
(3) код элемента никакого отношения не имеет к номеру группы дубля
|
|||
9
Maxus43
16.05.12
✎
09:45
|
>>что то наподобие
так не пойдёт. физический смысл, критерии разбивки по группам объясни сначала |
|||
10
ХочуСпец
16.05.12
✎
09:50
|
(9)
Объясняю В таблице (0) есть две группы дублирующихся элементов 1-ая группа: 001 Номен1 003 Номен1 2-ая группа: 002 Номен2 005 Номен2 Понятно так? |
|||
11
Wobland
16.05.12
✎
09:52
|
(10) нет. обходи результат и делай там всё, что хочешь и как хочешь
|
|||
12
ХочуСпец
16.05.12
✎
09:54
|
(11) ну как непонятно то? )
Каким то образом мне нужно группировать задублированные элементы. Этой группой и будет являться "Номер группы". |
|||
13
Maxus43
16.05.12
✎
09:55
|
(10) ааа, ну Итог по Наименованию сделай. будет
Номен1: 001 Номен1 003 Номен1 Номен2: 002 Номен2 005 Номен2 |
|||
14
ХочуСпец
16.05.12
✎
09:56
|
(13) нет
Да я привел простой пример когда критерий поиска дублей по Наименованию. В общем случае критерий поиска может быть сложный |
|||
15
Wobland
16.05.12
✎
09:57
|
(12) вот этот номер откуда? последовательно от 1 до ХХХ?
|
|||
16
Maxus43
16.05.12
✎
09:57
|
кури в поиске "Нумерация строк в запросе". Но лучше тупо при обходе результата подставляй что надо, ибо проще
|
|||
17
szhukov
16.05.12
✎
09:58
|
(0)ВЫБРАТЬ Наименование
Поместить ВТ_Дубли ИЗ Т1 ГРУППИРОВАТЬ Наименование ИМЕЮЩИЕ КОЛИЧЕСТВО(НАИМЕНОВАНИЕ)>1 А затем соединить временную таблицу с основной по наименованию и отсортировать Не? |
|||
18
ХочуСпец
16.05.12
✎
09:58
|
(15) да
|
|||
19
Wobland
16.05.12
✎
09:59
|
(18) присоединяюсь к (11) и (16) ;)
|
|||
20
Maxus43
16.05.12
✎
10:05
|
>>Да я привел простой пример когда критерий поиска дублей по Наименованию. В общем случае критерий поиска может быть сложный
не проще переделать обработку (6)? |
|||
21
ХочуСпец
16.05.12
✎
10:12
|
(20) не проще
Что ж вы за запросы то уцепились алгоритм то наверное не сложный |
|||
22
Maxus43
16.05.12
✎
10:16
|
почему уцепились? 2 раза сказали уже - при обходе результата чо хош делай и как хош называй свои группы
|
|||
23
ХочуСпец
16.05.12
✎
10:17
|
(22) Значит соединять таблицу саму с собой по внутреннему соединению?
|
|||
24
Maxus43
16.05.12
✎
10:20
|
зависит от критериев поиска. для наименования - хватит итогов по ним вобще)
да, соедниненяй по условиям своим |
|||
25
ХочуСпец
16.05.12
✎
10:22
|
Вообще два условия:
1. Код + Наименование + Единица измерения (это повторы) 2. Если при одном и том же значении Код в двух и более позициях не совпадают значения хотя бы одного из полей Наименование или Единица измерения (это дубли) |
|||
26
Maxus43
16.05.12
✎
10:25
|
Для начала - Итоги по коду, с условием что больше 1-го элемента внутри (ИМЕЮЩИЕ по количество(Ссыллка)). там погляди что выйдет и может дальше уже не запросом
|
|||
27
hugo
16.05.12
✎
10:25
|
дубли по наименованию
ВЫБРАТЬ Номенклатура.Наименование, СУММА(1) КАК КолДублей ПОМЕСТИТЬ ВТ ИЗ Справочник.Номенклатура КАК Номенклатура СГРУППИРОВАТЬ ПО Номенклатура.Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Наименование КАК Наименование, Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК ВТ ПО Номенклатура.Наименование = ВТ.Наименование ГДЕ ВТ.КолДублей > 1 ИТОГИ ПО Наименование |
|||
28
hugo
16.05.12
✎
10:29
|
(25) предполагаю что необходимо будет использовать три подзапроса по наименованию, коду, ед. измерения
|
|||
29
ХочуСпец
16.05.12
✎
10:31
|
(28) немного не так написал
Из общей таблицы надо выделить 2 таблицы: 1. Повторы (Код + Наименование + Единица измерения) 2. Дубли (Если при одном и том же значении Код в двух и более позициях не совпадают значения хотя бы одного из полей Наименование или Единица измерения) |
|||
30
hhhh
16.05.12
✎
10:35
|
(29) код-то здесь зачем? Что у тебя там куча элементов с неуникальными кодами?
|
|||
31
ХочуСпец
16.05.12
✎
10:37
|
(30) Это не элементы. Таблица, сформированная из внешнего файла
|
|||
32
hhhh
16.05.12
✎
10:38
|
(31) и что за код там? Артикул? Или штрих-код?
|
|||
33
ХочуСпец
16.05.12
✎
10:42
|
(32) уфф ) это имеет большое значение?
|
|||
34
hhhh
16.05.12
✎
10:57
|
а нафига номера дублей раздавать? Кому это может пригодиться? Ведь достаточно сообщения: обнаружен дубль - строка такая-то.
|
|||
35
ХочуСпец
16.05.12
✎
10:59
|
(34) к сожалению не я постановщик задачи
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |