4m@t!c
Александр
Посоветуйте алгоритм нахождения аналогов.
Работаю с товарами различных производителей. Товары различных производителей могут быть взаимозаменямыми, например мороженное "Пломбир" может выпускаться несколькими фабриками, но на одной фабрике это мороженое называется "Холодок", а на другой фабрике - "Снежок", но реально - это один и тот же пломбир.
Есть таблица1 товаров, которая состоит из полей:
Работаю с товарами различных производителей. Товары различных производителей могут быть взаимозаменямыми, например мороженное "Пломбир" может выпускаться несколькими фабриками, но на одной фабрике это мороженое называется "Холодок", а на другой фабрике - "Снежок", но реально - это один и тот же пломбир.
Есть таблица1 товаров, которая состоит из полей:
- partid //ID товара,
- partnum//каталожный номер товара,
- crossid//ID замены.
[/list=1]
Содержимое таблицы выглядит приблиительно так:
Код:1 num1 7 2 num2 7 3 num3 7 5 num4 8 6 num5 8 7 num6 0
По наследству досталась таблица, которая состоит из полей:- partid //ID товара он же ID замены,
- partnum//каталожный номер товара,
[/list=1]
Содержимое этой таблицы2 выглядит так:
Код:1 num1 1 sear2 1 sear3 2 num2 2 sear2 2 sear4 2 sear5
Так вот в таблицу2 на протяжении надцати лет заносились данные, сейчас там их около 4 000 000, при ассортименте товара в 1 200 000 позиций.
Сейчас ассортимент товара вырастает до 5 000 000 за счет того, что номера sear* нужно превратить в num*. Т.е. что бы по этим номерам можно было не только искать но и получать информацию, такую же как и по num*.
Задача состоит в том, что бы таблицу 2 экспортировать в таблицу1.
Проблема состоит в том, что данные в таблицу 2 вносились не всегда корректно - этому способстовала описанная струкутура. Человек просто брал номер товара num и приписывал к нему номера sear*. Т.е. если теперь просто присвоеить всем sear* partid и crossid в результате может получиться, что мороженное пломбир может оказаться фруктовым мороженным, чего не должно быть. Т.е. кто-то по ошибке взял и прописал одинаковый sear как для пломбира, так и для фруктового.
Прошу помощи по созданию алгоритма. Для каждого num существует несколько sear, т.е. если в сравниваемых num совпадает несколько sear их нужно и брать, но так как сравниваю попарно для одних случае может оказаться что sear совпдает несоклько раз, а для других - один раз. Не могу представить как взять все сразу... ХЕЗ, даже и не знаю, как более корректно объяснить.
Прошу прощения, что не прочел правила.