Mysql 如何使用2个条件将多行从一个表复制到另一个表

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_

请礼貌一点,我第一次尝试MySQL和我的第一个SQL问题

我正在尝试将一些行从一个表复制到另一个表。旧表如下所示:

我的新表(已经存在)也有meta_键“_wpsc_sku”,并且在meta_值中也有相同的sku值

我想将旧表(wpsc_smaak、wpsc_kg-of-st、wpsc_inhoud)的底部3行复制到新表中,其中两个表中的元键都是具有相同值的wpsc_sku。我有多篇文章/产品要复制

到目前为止,我得到了这个(不工作),只是尝试复制1个字段:

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,更新了一致性的答案。很乐意帮忙!