MySQL如何将两个表中的值插入一个表中

时间:2013-06-29 09:26:11

标签: mysql

如何将两个表(wp_postswp_postmeta)中的值插入一个(wp_linkz)?

我有2张桌子

1 wp_posts

  • (ID,post_name,post_type)
  • 1时,首先,制品
  • 2,第二,网址
  • 3,第三,第
  • 4,阐述,网址

2 wp_postmeta

  • (post_id,meta_key,meta_value)
  • 1,the_article,1000
  • 2,the_url,google.com
  • 3,the_article,3000
  • 4,THE_URL,bing.com

结果应如下所示

3 wp_linkz

  • (ID,姓名,URL)
  • 2,第二,google.com
  • 4,阐述,bing.com

ID(来自wp_post)与post_id(来自wp_postmeta)相同。

我想在wp_links中插入id(仅针对有post_type = urls的ID),name post_nam仅针对post_type=urls的用户)和urlmeta_value仅适用于那些meta_key=the_url

的人

感谢。

1 个答案:

答案 0 :(得分:1)

我会使用此查询:

INSERT INTO wp_linkz (id, name, url)
SELECT wp_posts.id, wp_posts.post_name, wp_postmeta.meta_value
FROM
  wp_posts INNER JOIN wp_postmeta
  ON wp_posts.id = wp_postmeta.post_id
     AND wp_posts.post_type = 'urls'
     AND wp_postmeta.meta_key = 'the_url'

请参阅小提琴here