Mysql 如果同一表中的不同字段与两个不同的值匹配,请将同一字段列出两次

Mysql 如果同一表中的不同字段与两个不同的值匹配,请将同一字段列出两次,mysql,Mysql,这个问题听起来很复杂,但我怀疑答案可能会简单一点 我的WordPress安装使用MySQL数据库和一个名为wp\u postemta的表 此表有四列,meta\u id,post\u id,meta\u key,meta\u value 我在wp_posts表中存储了许多养鱼物种档案,每个档案都有一个id,与wp_postmeta的post_id列相链接 每个物种概况在元表中都有一个条目,其中meta_键为属。类似地,它们有一个条目,其中meta_键是物种 wp_posts post_

这个问题听起来很复杂,但我怀疑答案可能会简单一点

我的WordPress安装使用MySQL数据库和一个名为
wp\u postemta
的表

此表有四列,
meta\u id
post\u id
meta\u key
meta\u value

我在
wp_posts
表中存储了许多养鱼物种档案,每个档案都有一个
id
,与
wp_postmeta
post_id
列相链接

每个物种概况在元表中都有一个条目,其中
meta_键
。类似地,它们有一个条目,其中
meta_键
物种

wp_posts

    post_id     post_title
    2           Satanoperca daemon (Three spotted daemon)
    4           Betta splendens (Siamese fighting fish)

wp_postmeta

    meta_id     post_id     meta_key    meta_value
    10          2           genus       Satanoperca
    11          2           species     daemon
    12          4           genus       Betta
    13          4           species     splendens
我需要的是post表中每个物种的
,这样我就可以得到如下列表:

genus       species
Satanoperca daemon
Betta       splendens
Geophagus   steindachneri
提前感谢,

SELECT posts.post_id AS post_id, meta1.meta_value AS genus, meta2.meta_value AS species
  FROM wp_posts posts
    LEFT OUTER JOIN wp_postmeta meta1
      ON posts.post_id = meta1.post_id AND meta1.meta_key = "genus"
    LEFT OUTER JOIN wp_postmeta meta2
      ON posts.post_id = meta2.post_id AND meta2.meta_key = "species"