Всем привет. Устал уже нейронки доставать и помочь не могут толком или я не правильно пишу. Помогите кому не лень пжл
1. Мне надо из таблицы oc_product_description взять данные из product_id и name. у name взять только слово или часть из слова которая содержит 600*2000 или 800*2000 например. (name может быть 68ДГ0№900х2000 eco или раздельно BARCELONA 2 | POLAR 600х2000 Белая эмаль/Polar)

2. Но только те product_id которые в таблице oc_product_to_category соответствуют category_id = 59

3 И затем поместить их в таблицу oc_product_attribute связав по product_id и присвоив attribute_id = 26 и поле text которое из части name в первом пункте (600*2000)

Нейросеть советует так, но не работает такое
своих пониманий в этом конечно не много
INSERT INTO oc_product_attribute (product_id, attribute_id, text)
SELECT
pd.product_id,
26 AS attribute_id,
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(pd.name, ' ', numbers.n), ' ', -1)) AS text
FROM oc_product_description pd
INNER JOIN oc_product_to_category ptc ON pd.product_id = ptc.product_id
INNER JOIN (
SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5
) numbers
ON CHAR_LENGTH(pd.name) - CHAR_LENGTH(REPLACE(pd.name, ' ', '')) >= numbers.n - 1
WHERE
ptc.category_id = 59
AND SUBSTRING_INDEX(SUBSTRING_INDEX(pd.name, ' ', numbers.n), ' ', -1) REGEXP '^[0-9]{3}\*[0-9]{4}$'
GROUP BY pd.product_id, text;
1. Мне надо из таблицы oc_product_description взять данные из product_id и name. у name взять только слово или часть из слова которая содержит 600*2000 или 800*2000 например. (name может быть 68ДГ0№900х2000 eco или раздельно BARCELONA 2 | POLAR 600х2000 Белая эмаль/Polar)

2. Но только те product_id которые в таблице oc_product_to_category соответствуют category_id = 59

3 И затем поместить их в таблицу oc_product_attribute связав по product_id и присвоив attribute_id = 26 и поле text которое из части name в первом пункте (600*2000)

Нейросеть советует так, но не работает такое
своих пониманий в этом конечно не много
INSERT INTO oc_product_attribute (product_id, attribute_id, text)
SELECT
pd.product_id,
26 AS attribute_id,
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(pd.name, ' ', numbers.n), ' ', -1)) AS text
FROM oc_product_description pd
INNER JOIN oc_product_to_category ptc ON pd.product_id = ptc.product_id
INNER JOIN (
SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5
) numbers
ON CHAR_LENGTH(pd.name) - CHAR_LENGTH(REPLACE(pd.name, ' ', '')) >= numbers.n - 1
WHERE
ptc.category_id = 59
AND SUBSTRING_INDEX(SUBSTRING_INDEX(pd.name, ' ', numbers.n), ' ', -1) REGEXP '^[0-9]{3}\*[0-9]{4}$'
GROUP BY pd.product_id, text;