@ligisayan

Как объединить товары с одинаковыми названиями в 1?

Всем привет! Есть .csv файл с большим списком товаров. Часть товаров сгруппированы друг за другом и отличаются одним полем (фактически это один и тот же товар, который имеет различные свойства).
ID  NAME    PRICE   DESC
3630     лодка Адмирал 280  80.0000 св 1
3630     лодка Адмирал 280  80.0000 св 2
3630     лодка Адмирал 280  80.0000 св 3

Как объединить такие товары в один, записав все различающиеся поля в одно вида: св 1;св 2;св 3 ?

ID  NAME    PRICE   DESC
3630     лодка Адмирал 280  80.0000 св 1;св 2;св 3


Пробую записать в столбце так =ЕСЛИ(A2=A1;B101894&"; "&X2;X2) и размножить на все строки, но получаю предупреждение о циклической ссылке.. Почему?
  • Вопрос задан
  • 666 просмотров
Пригласить эксперта
Ответы на вопрос 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Ответ очевиден, есть как минимум три варианта:
  • Изначально прохешировать и объединять данные при одинаковом ключе (быстро, но много памяти и мало запросов в БД)
  • Обрабатывать записи по одной, каждый раз проверяя в БД, нет ли такой записи уже (медленно, мало памяти, много запросов в БД)
  • Если это возможно - отсортировать записи, а затем проходить список сверяясь, не совпадает ли запись с предыдущей и делать соответствующие действия (довольно быстро, в зависимости от метода сортировки в начале может потребоваться много памяти или же нет, мало запросов в БД)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы