Я пытаюсь использовать этот запрос ниже, чтобы получить изображения из таблицы изображений (которые могут возвращать несколько результатов), а затем вставить их в изображение поля таблицы продуктов.Таким образом, таблица изображений может иметь значения testsku
, url1
и testsku
, url2
и testsku
, url3
.Затем мне нужно обновить таблицу продуктов, где sku равно testsku
, а поле изображения будет url1$^$url2$^$url3
.Также обратите внимание, что test-sku
изображения должны быть объединены с testsku
изображениями.
INSERT INTO `products` (image) (SELECT images.sku, group_concat(images.image separator '$^$')
FROM `images`,`products`
GROUP BY images.sku)
WHERE (images.sku=products.sku
OR images.sku=CONCAT(products.style,'-',products.color))
AND products.sku='testsku'
Пожалуйста, дайте мне знать, что я делаю неправильно, или как я должен изменить этот запрос, чтобы обновить таблицу.Я понимаю, что это противоречит цели реляционных таблиц, но требуется объединить все URL-адреса в поле изображения в таблице продуктов.
РЕДАКТИРОВАТЬ:
Используя следующий оператор,Я могу вернуть URL-адреса «test-sku» и «testku» в один и тот же ряд.Однако у меня все еще возникают проблемы с обновлением таблицы продуктов, чтобы найти тестку и обновить поле изображения с возвращенным значением.Также обратите внимание, что мне нужно будет удалить предложение 'testsku', чтобы оно могло выполняться для всех skus.
SELECT p.sku, group_concat (разделитель i.image '$ ^ $') FROM images
i, products
p WHERE (i.sku = p.sku ИЛИ i.sku = CONCAT (p.style, '-', p.color)) И p.sku = 'testsku' GROUP BY p.sku