Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Обновление цены товара (mysql запрос)


Recommended Posts

Здравствуйте, подскажите как соединить корректно два запроса.

 

Задача: обновить цены товаров.

 

Для того чтобы понять у какого товара изменилась цена я выполняю следующий запрос:

mysql> select es_product.product_id old_id, es_product.price old_price, es_product_sync.product_id new_id, es_product_sync.price new_price 
from elsumki_database.es_product join elsumki_database.es_product_sync 
on es_product.product_id = es_product_sync.product_id 
where es_product.price != es_product_sync.price or es_product_sync.price IS NULL;
+----------+-----------+----------+-----------+
| old_id   | old_price | new_id   | new_price |
+----------+-----------+----------+-----------+
| 10060066 |  777.0000 | 10060066 |  450.0000 |
| 10060084 |  777.0000 | 10060084 |  850.0000 |
| 10060141 |  777.0000 | 10060141 | 3000.0000 |
+----------+-----------+----------+-----------+
3 rows in set (0.00 sec)

Для изменения цены дошел до такого запроса, но не хватает знаний чтобы его завершить.

mysql> select es_product.product_id old_id, es_product.price old_price, es_product_sync.product_id new_id, es_product_sync.price new_price,
case
when old_id = new_id and old_price != new_price
then ($какой то запрос на перемещение цен)
when es_product.product_id = es_product_sync.product_id and es_product.price = es_product_sync.price
then end;
end case 
from elsumki_database.es_product join elsumki_database.es_product_sync 
on es_product.product_id = es_product_sync.product_id 
where es_product.price != es_product_sync.price or es_product_sync.price IS NULL;

 

Надіслати
Поділитися на інших сайтах


Зачем перебирать? Меняйте всем товарам. И никаких проблем. Если цена не изменилась, то товар получит новую такую же.

 

Банальной заменой? 

replace into elsumki_database.es_product select * from elsumki_database.es_product_sync;
replace into elsumki_database.es_product_description select * from elsumki_database.es_product_description_sync;
replace into elsumki_database.es_product_to_category select * from elsumki_database.es_product_to_category_sync;
replace into elsumki_database.es_product_to_layout select * from elsumki_database.es_product_to_layout_sync;
replace into elsumki_database.es_product_to_store select * from elsumki_database.es_product_to_store_sync;
Змінено користувачем MKondratev
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.