У меня есть уже большой запрос, который выбирает информацию о продукте. Все в порядке до момента, когда я пытаюсь создать расчетный столбец.MySql: Создайте эффективный вычисляемый столбец
Идея заключается в том, что таблица продуктов содержит ценовую колонку, но перед тем, как изменение цены привержен я создать столбец new_price как так
CASE
WHEN id = 1 THEN (value from $newPrice array)
WHEN id = 2 THEN (value from $newPrice array)
...(ect sql statement continues to be generated from array)...
ELSE NULL END AS new_price
Все нормально при работе с небольшим массивом NewPrice, но когда его содержит 1000 + значений, оператор CASE становится очень большим, и запрос занимает много времени.
Есть ли лучший способ сделать это без физической вставки временных данных new_price при создании столбца new_price для сортировки?
Заранее спасибо.
Это не присваивает столбцу 'new_price', он сравнивает его. – Barmar
Извините, что пример SQL равен WHEN ID = 1 ТОГДА 9.99 ect. – BasicallyBoredWithoutAnOffice
Вы можете вставить новые данные в временную таблицу и присоединиться к ней – Vatev