У меня есть один col (state_not_allowed) в TABLE
vendor_product, где я пытаюсь вставить значения от product_catalog_varchar.value - но только если есть ы в vendor_product, что соответствует SKU в product_catalog, где идентификатор product_catalog равняется идентификатор product_catalog_varchar в и идентификатор атрибута product_catalog_varchar в = 523.MySQL INSERT В одном столбце из запроса SELECT, извлекающего данные из двух других таблиц - бросание # 1062 - Повторяющаяся запись '' для ошибки ключа 2
Я в основном пытаются сделать эквивалент MySQL в качестве Excel VLOOPUP. Мне нужен результат следующего запроса:
SELECT product_catalog_varchar.value
FROM product_catalog_varchar
JOIN product_catalog
ON product_catalog.id = product_catalog_varchar.id
JOIN vendor_product
ON vendor_product.sku = product_catalog.sku
AND product_catalog_varchar.attribute_id = 523
Чтобы быть вставлены в колонку state_not_allowed, где в ы vendor_product = единицы складского хранения в product_catalog.
Я провел некоторое исследование на INSERT INTO
, здесь и на Google в целом. Похоже, что большая часть инструкций есть на более простых запросах, поэтому я не смог найти достойную модель, чтобы выяснить, что делать. Я могу вам сказать, что этот запрос не работает:
INSERT INTO vendor_product(`state_not_allowed`)
SELECT product_catalog_varchar.value
FROM product_catalog_varchar
JOIN product_catalog
ON product_catalog.id = product_catalog_varchar.id
JOIN vendor_product
ON vendor_product.sku = product_catalog.sku
AND product_catalog_varchar.attribute_id = 523
Он выдает следующее сообщение об ошибке: # 1062 - Дублировать запись «» для ключа 2
И если я должен vendor_product и посмотреть, а просто вставляя значения в state_not_allowed, он создает целую новую строку (без данных). Понятно, что я в этом смысле не понимаю. Выручи меня? Спасибо, ребята.
Почему у вас есть этот 'product_catalog.id = product_catalog_varchar.id' в разделе WHERE, если вы одинаковы для первого JOIN? – user2065377
Хороший вопрос. Я был отвлечен при написании запроса, я думаю. Хороший улов. – Kale