Привет всем.
Есть служебная таблица с такой структурой (дамп mysql):
CREATE TABLE IF NOT EXISTS `rtemp` (
`rsku` varchar(64) NOT NULL,
`rstore` int(11) NOT NULL,
`rprice` decimal(12,5) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `rtemp`
--
INSERT INTO `rtemp` (`rsku`, `rstore`, `rprice`) VALUES
('A15-1301110', 1, '2000.00000');
Она периодически пополняется новыми значениями товаров из текстового файла (код товара, кол-во на складе и цена).
Существует еще одна рабочая таблица со схожей структурой jos_vm_products (она отличается от служебной только наличием дополнительных полей).
Задача - обновить данные рабочей таблице, основываясь на существующих данных в служебной таблице. Обновить нужно только те записи, которые существуют и в рабочей и в служебной.
Я не очень хорошо знаю Sql (возможно, даже вообще плохо знаю). Мне удалось составить запрос вот такой:
UPDATE (rtemp LEFT JOIN jos_vm_product ON rtemp.rsku = jos_vm_product.product_sku)
LEFT JOIN jos_vm_product_price ON jos_vm_product.product_id = jos_vm_product_price.product_id
SET jos_vm_product.product_in_stock = rtemp.rstore, jos_vm_product_price.product_price = rtemp.rprice;
Но почему-то записи обновляются не все. Т.е. к примеру товар с кодом "A15-1301110" присутствует в обеих таблицах, а по нему обновляется только кол-во, а цена - нет.
Где я ошибся?