我已经搜索了一段时间,但还没有找到解决方案。我有2个mysql表。 对象和元。对象描述页面,帖子,类别和东西
table object
----------
id type
有关每个对象的其他信息存储在表meta
中table meta
-----------------------------------------
id object_id meta_key meta_value
如果我有一个id为1的对象,而我的两个表看起来像这样
object | meta
--------- | -------------------------
1 post | 1 1 title a title
2 1 content a content
有没有办法产生像这样的输出
object_id type title content
-------------------------------------
1 post a title a content
即使有10个,20个以上的字段?这是sqlfiddle(已修改)链接。谢谢。
答案 0 :(得分:1)
尝试......
select o.id, o.type, om.title, om.content
from object o left join (
select object_id,
max(case when meta_key = 'title' then meta_value end) as title,
max(case when meta_key = 'content' then meta_value end) as content
from object_meta
group by object_id) om on o.id = om.object_id