返回SQL中所有已连接的行

时间:2015-05-14 17:56:09

标签: mysql wordpress join

所以我正在搞乱wordpress并尝试获取行连接的所有行。现在,我似乎只能加入一行。我知道GROUP BY必须有一些元素,但我似乎无法弄明白。

SELECT posts.*, meta.meta_value
                FROM wp_g6exrf_posts as posts
                LEFT OUTER JOIN wp_g6exrf_postmeta as meta
                ON meta.post_id = posts.ID
                WHERE ! ( posts.post_status = 'auto-draft' ) 
                GROUP BY meta.post_id

所以我加入了元表并期望有多个列来满足连接条件。

真诚地感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:1)

如果没有看到postmeta

meta_key就没什么意义了。

除非您正在进行某种聚合,否则GROUP BY没有任何意义。它会将每个帖子的多行压缩为一个,并只返回一个meta_value项目,即随机选择的一个。

试试这个:

SELECT posts.*, 
       meta.meta_key, meta.meta_value
  FROM wp_g6exrf_posts as posts
  LEFT OUTER JOIN wp_g6exrf_postmeta as meta ON meta.post_id = posts.ID
 WHERE ! ( posts.post_status = 'auto-draft' ) 
 ORDER BY posts.id, meta.meta_key, meta.meta_value