hobbat 0 Опубликовано 28 января, 2014 Жалоба Share Опубликовано 28 января, 2014 Создал в магазине дополнительные группы покупателей. Каждой группе соответствует своя групповая скидка, переход из группы в группу осуществляется после достижения заказов со статусом "Доставлено" определенной суммы. Теперь задача состоит в том, чтобы старых покупателей раскидать по соответствующим группам. Т.е. смотрим статистику лучших покупателей и в соответствии с суммой заказов перемещаем в нужную группу. Беда в том, что таких покупателей уже около 700, хотелось бы сделать это как-то автоматически, руками проходить всех проблематично. Может кто-то уже сталкивался с такой проблемой? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 января, 2014 Жалоба Share Опубликовано 28 января, 2014 hobbat Можно sql запросом перевести через phpMyAdmin. Но это если есть какой-то диапазон, без пропусков. Например покупатели с id номерами от 100 до 700, всех за раз можно перевести в группу. Ссылка на сообщение Поделиться на другие сайты
hobbat 0 Опубликовано 28 января, 2014 Автор Жалоба Share Опубликовано 28 января, 2014 Так не получится, у меня 3240 покупателей, из них попадают в группы 670, причем все в разные группы. Я бы отредактировал таблицу customers руками, в ней можно поменять группу, но все равно это придется по одному сверять данные из статистики лучших покупателей и проставлять ID группы. А нет ли такой строки в sql, в которой бы отражалась сумма покупок, сделанных клиентом? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 января, 2014 Жалоба Share Опубликовано 28 января, 2014 Нет, готового запроса такого нет, только самому писать. Других варинатов никаких нет. В Вашем случае, я б, к примеру, чуть подправил экспорт клиентов в Админке - Покупатели - Клиенты - Экспорт. Добавил в выгружаемый файл сумму заказов и текущей статус из customers_status_id, т.е. просто что б был файл с данными о Ваших покупателях, куда кого перекидывать, а потом уже перекидывать, либо руками, либо тоже какой-то скрипт-помощник написать. Можно ведь и sql запрос написать, который переведёт покупателя в нужную группу в зависимости от суммы заказа. Если сами не можете, найдите програмиста, например через weblancer.net с free-lance.ru Ссылка на сообщение Поделиться на другие сайты
hobbat 0 Опубликовано 28 января, 2014 Автор Жалоба Share Опубликовано 28 января, 2014 Ага, спасибо, я понял Вас Я не понял, как сумму заказов в базе данных найти. В какой таблице или какой строке. Я не смог найти. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 января, 2014 Жалоба Share Опубликовано 28 января, 2014 Таблицы orders, orders_total Ключом к вытаскиванию сумм является customers_id колонка. Можете пример посмотреть в /admin/orders.php когда сортируете заказа по покутпалю, т.е. когда показывает все заказы одного покупателя. Вообще ничего сложного нет даже для меня, хотя я ни разу не прграммист, а для программиста так и тем более. Ссылка на сообщение Поделиться на другие сайты
hobbat 0 Опубликовано 28 января, 2014 Автор Жалоба Share Опубликовано 28 января, 2014 Спасибо. Потом поделюсь тем, что получится. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 января, 2014 Жалоба Share Опубликовано 28 января, 2014 Удачи. В основном уже готовые примеры sql запросов есть в том же /admin/orders.php Ссылка на сообщение Поделиться на другие сайты
hobbat 0 Опубликовано 28 января, 2014 Автор Жалоба Share Опубликовано 28 января, 2014 update `customers` c set c.customers_status = 4 where c.customers_status not in (0, 3) and c.customers_id in ( select st.customers_id from ( select o.customers_id, sum(ot.value) s from `orders` o, `orders_total` ot where o.orders_status = 6 and o.orders_id = ot.orders_id and ot.class = 'ot_total' group by o.customers_id ) st where st.s > 20000 and st.s < 25000 ) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 января, 2014 Жалоба Share Опубликовано 28 января, 2014 Спасибо :) Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения