我有一个带有 2 个表的 MySQL 数据库。第一张表:
Posts
ID
post_title
post_content
... etc
第二个表有附加数据:
Postmeta
ID
Post_ID (FK)
meta_key
meta_value
我需要的数据在 meta_key/value 对中。但是这个数据库的组织方式是第二个表中的每一行只有一条信息。
例如(第二张表):
ID Post_ID meta_key meta_value
1 5 info 30
ID Post_ID meta_key meta_value
2 5 additional_info 40
ID Post_ID meta_key meta_value
3 6 info 50
ID Post_ID meta_key meta_value
4 6 additional_info 60
所以如果我运行查询
SELECT
posts.id,
posts.post_date,
posts.post_author,
posts.post_content,
posts.post_title,
postmeta.meta_id,
postmeta.meta_key,
postmeta.meta_value
FROM posts INNER JOIN postmeta ON posts.id = postmeta.post_id
WHERE posts.post_type = 'post'
我取回了我需要的所有数据,但来自第一个表(ID/post_content 等)的数据重复了很多次。但我只需要第一个表中的数据一次,但第二个表中的所有其他数据都与第一个表中的 ID 相关。
我应该如何过滤所有这些东西?可能是一些php循环?