Я собираюсь переместить данные опций продукта в новые более эффективные таблицы.MYSQL - варианты варианта возврата продукта
Я создал новые таблицы:
Options: ID/Product_ID/Option_Text
Values: ID/Options_ID/Value_text
И я положил все устаревшие опции в эти таблицы. Мое ОГРОМНОЕ препятствие создают данные для таблиц вариантов:
Variants: ID/Product_ID/Price/SKU
Variant_Values: ID/Options_ID/Variants_ID
Это легко сделать в Javascript с использованием массивов и декартовым для новых продуктов. Но я хочу использовать MYSQL для перемещения данных. Это не должно быть эффективным, поскольку я собираюсь запустить этот скрипт один раз.
Так позволяет сказать, что у меня есть следующие данные:
Варианты:
36 | 100 | Color
37 | 100 | Size
38 | 100 | Logo
Values:
72 | 36 | Blue
73 | 36 | Red
74 | 37 | Large
75 | 37 | Med
76 | 37 | Small
77 | 38 | Shark
78 | 38 | Unicorn
Таким образом, в новой таблице значений вариант, мне нужно, чтобы объединить все варианты:
BLUE - LARGE - SHARK
BLUE - LARGE - UNICORN
BLUE - MED - SHARK
Но ставить их в таблицу значений varient мне действительно нужно только сгруппировать их вместе, как:
72 | 1
74 | 1
77 | 1
72 | 2
74 | 2
78 | 2
72 | 3
75 | 3
77 | 3
Так есть запрос, который я могу бежать, что даст мне, что за финальным столом?
если я бегу что-то вроде:
SELECT (v.id), v.`Value_text`, o.`Option_Text`
FROM `Values` AS v
JOIN `Options` AS o ON o.`id` = v.`Options_ID ` AND o.`Product_ID` = 162961
GROUP BY o.`id`;
я получаю что-то вроде:
"72" "Blue" "Color"
"74" "Large" "Size"
"77" "Shark" "Logo"
Но я не знаю, как создать запрос, чтобы дать мне все комбинации ..
Thi s не работает, потому что 1: параметры привязаны к продукту и не являются глобальными. 2: Существуют разные цены для КАЖДОГО варианта. Столь крупная стоит больше, чем небольшая. –