Mysql 如何使用2个条件将多行从一个表复制到另一个表
请礼貌一点,我第一次尝试MySQL和我的第一个SQL问题 我正在尝试将一些行从一个表复制到另一个表。旧表如下所示: 我的新表(已经存在)也有meta_键“_wpsc_sku”,并且在meta_值中也有相同的sku值 我想将旧表(wpsc_smaak、wpsc_kg-of-st、wpsc_inhoud)的底部3行复制到新表中,其中两个表中的元键都是具有相同值的wpsc_sku。我有多篇文章/产品要复制 到目前为止,我得到了这个(不工作),只是尝试复制1个字段:Mysql 如何使用2个条件将多行从一个表复制到另一个表,mysql,sql,Mysql,Sql,请礼貌一点,我第一次尝试MySQL和我的第一个SQL问题 我正在尝试将一些行从一个表复制到另一个表。旧表如下所示: 我的新表(已经存在)也有meta_键“_wpsc_sku”,并且在meta_值中也有相同的sku值 我想将旧表(wpsc_smaak、wpsc_kg-of-st、wpsc_inhoud)的底部3行复制到新表中,其中两个表中的元键都是具有相同值的wpsc_sku。我有多篇文章/产品要复制 到目前为止,我得到了这个(不工作),只是尝试复制1个字段: INSERT INTO `test_
INSERT INTO `test_data` (`product_id`, `meta_key`, `meta_value`)
SELECT `test_data`.`product_id`, `wp_postmeta`.`meta_key`, `wp_postmeta`.`meta_value`
FROM `wp_postmeta` INNER JOIN `test_data`
WHERE (`wp_postmeta`.`meta_key`= '_wpsc_sku' AND `wp_postmeta`.`meta_value` = `test_data`.`meta_value`) AND `wp_postmeta`.`meta_key` = '_wpsc_smaak';
我希望你们清楚这一点
干杯。试试这个:
INSERT INTO `test_data`
(`product_id`, `meta_key`, `meta_value`)
SELECT
td.`product_id`,
wp2.`meta_key`,
wp2.`meta_value`
FROM `test_data` td
INNER JOIN `wp_postmeta` wp1 ON
wp1.`meta_value` = td.`meta_value` AND wp1.`meta_key`= '_wpsc_sku'
INNER JOIN `wp_postmeta` wp2 ON
wp2.`post_id` = wp1.`post_id` AND wp2.`meta_key`= '_wpsc_smaak'
注:已更改子选择表顺序。分别使用
wp1
和wp2
获取post\u id
和\u wpsc\u smaak
值。将始终为空,因为meta\u键
不能同时获取值。第二个是或
谢谢你的回复,我知道我的元键
发生冲突,但我想将\u wpsc\u smaak
及其值插入新表,我无法根据SKU获取此行。你能再试一次吗?做了一些改变你是我的英雄@LuukSkeur,更新了一致性的答案。很乐意帮忙!