请礼貌,我第一次尝试MySQL和我的第一个SQL问题。
我的新表(已经存在)也有meta_key' _wpsc_sku'并且在meta_value中也具有相同的sku值。
我想将旧表中的底部3行(wpsc_smaak,wpsc_kg-of-st,wpsc_inhoud)复制到新表中,其中两个表中的元键都是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';
我希望你们能清楚这一点。
干杯。
答案 0 :(得分:0)
试试这个:
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_id
和_wpsc_smaak
值。