Query:
SELECT 'i'.'name', 'i'.'id', 'i'.'img', 'd'.'url', GROUP_CONCAT(t.name SEPARATOR ', ') as tags
FROM 'demos' i
INNER JOIN 'details' d ON 'i'.'id' = 'd'.'demo_id'
INNER JOIN tags t ON t.demo_id = i.id
GROUP BY 'i'.'id'
ORDER BY 'i'.'created_at' ASC
An idea of how it should look
SELECT 'i'.'name', 'i'.'id', 'i'.'img', 'd'.'url', GROUP_CONCAT(t.name SEPARATOR ', ') as tags
FROM 'demos' i
INNER JOIN 'details' d ON 'i'.'id' = 'd'.'demo_id'
INNER JOIN tags t ON t.demo_id = i.id
GROUP BY 'i'.'id'
WHERE i.id = req.params.id