SELECT DISTINCT dvdpedia.id, dvdpedia.title, dvdpedia.locale, dvdpedia.localeLanguage, dvdpedia.originalTitle, media.media
, a.actor
, d.director
FROM dvdpedia
LEFT OUTER JOIN ( SELECT director2title.titleId,
GROUP_CONCAT(director SEPARATOR ', ') AS director
FROM director
INNER JOIN director2title
ON director.id = director2title.pid
GROUP BY director2title.titleId ) AS d
ON d.titleId = dvdpedia.id
LEFT OUTER JOIN actor2role ON actor2role.titleId = dvdpedia.id
LEFT OUTER JOIN media ON media.id = dvdpedia.mediaId
INNER JOIN (SELECT actor.id,
GROUP_CONCAT(actor SEPARATOR ', ') AS actor
FROM actor
INNER JOIN actor2role
ON actor.id = actor2role.actorId
GROUP BY actor.id) AS a
ON a.id = actor2role.actorId
WHERE MATCH(dvdpedia.title) AGAINST("pirates" IN BOOLEAN MODE)
OR MATCH(a.actor) AGAINST("pirates" IN BOOLEAN MODE)
OR MATCH(d.director) AGAINST("pirates" IN BOOLEAN MODE)
GROUP BY dvdpedia.title
Bookmarks