【发布时间】:2013-08-07 18:36:13
【问题描述】:
我想将值从 table_a 复制/更新到 table_b 的另一行 WHERE table_a.id = table_b.id AND table_a.name = table_b.name
我有 2 个表 price_drop_apps_temp 和 price_drop_apps 具有相同的结构
CREATE TABLE IF NOT EXISTS `price_drop_apps_temp` (
`application_id` int(11) NOT NULL DEFAULT '0',
`storefront_id` int(11) NOT NULL DEFAULT '0',
`price_1` decimal(9,3) DEFAULT NULL,
`price_2` decimal(9,3) DEFAULT NULL,
`price_3` decimal(9,3) DEFAULT NULL,
`price_4` decimal(9,3) DEFAULT NULL,
`price_5` decimal(9,3) DEFAULT NULL,
`price_6` decimal(9,3) DEFAULT NULL,
PRIMARY KEY (`application_id`,`storefront_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci")
表price_drop_apps_temp 包含更新的application_id 和storefront_id。
我需要将表price_drop_app 中的所有值从列price_2 复制到表price_drop_apps_temp 列price_1,其中application_id 和storefront_id 在两个表中都匹配,等等其他一些列。如果price_drop_apps_temp 没有匹配的application_id AND storefront_id,则值应保持为NULL。
我尝试了关注,但它不起作用,我也不确定是否应该使用 UPDATE 或 INNER JOIN。我的 SQL 技能非常有限,因此不胜感激。
INSERT INTO price_drop_apps_temp (price_1,price_2,price_3) SELECT price_2,price_3,price_4 FROM price_drop_apps WHERE price_drop_apps_temp.application_id = price_drop_apps.application_id AND price_drop_apps_temp.storefront_id = price_drop_apps.storefront_id
【问题讨论】:
标签: mysql sql sql-update bulkinsert