2016-03-07 57 views
0

請客氣,我第一次嘗試MySQL和我的第一個SQL問題。如何使用2個條件將多行從一張表複製到另一張表

我想從一個表複製一些行到另一個。舊錶格如下所示:enter image description here

我的新表(已存在)也具有meta_key'_wpsc_sku',並且在meta_value中也具有相同的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'; 

我希望這是清楚你們。

乾杯。

回答

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' 

注:
改變的子查詢表順序。使用wp1wp2分別獲得post_id_wpsc_smaak值。

+0

將始終爲空,因爲'meta_key'不能同時具有值​​。第二個是'OR' – vaso123

+0

@lolka_bolka,剛剛添加該評論:) –

+0

感謝您的回覆,我知道我有一個'meta_key'的碰撞,但我想插入_wpsc_smaak和它的值到新表和我我無法根據sku –

相關問題