I made an SQL query which is returning the content and the metas as columns
SELECT
content.content_id AS id,
content.content_title AS author,
content.content_body AS review,
content.content_date as date,
m0.meta_value AS email,
m1.meta_value AS origin,
m2.meta_value AS recommend,
m3.meta_value AS avatar
FROM
molly_contents content,
molly_content_meta m0,
molly_content_meta m1,
molly_content_meta m2,
molly_content_meta m3
WHERE
content.content_type = 'review'
AND content.content_id = m0.meta_content_id
AND m0.meta_name = 'email'
AND content.content_id = m1.meta_content_id
AND m1.meta_name = 'origin'
AND content.content_id = m2.meta_content_id
AND m2.meta_name = 'recommendation'
AND content.content_id = m3.meta_content_id
AND m3.meta_name = 'avatar'
ORDER BY
content.content_date DESC
The problem is, if there is a missing meta it wont return that record. Is there any solution to return each record as a single row with the meta names as column names, and if there is no meta name then leave it empty?