Възможно е с този малък трик (OUTER JOIN в таблицата много към много, с ограничението, че GroupID трябва да бъде 3 (за драма)
http://sqlfiddle.com/#!9/01cf3/1
SELECT elements.ID, elements.Element, groups.Genre
FROM elements
LEFT OUTER JOIN group_elements
ON elements.ID = group_elements.ElementID
AND group_elements.GroupID = 3
LEFT OUTER JOIN groups
ON group_elements.GroupID = groups.ID
LEFT OUTER JOIN
означава:вземете всички редове от предходните таблици (тези, които са от ЛЯВАТА страна на LEFT OUTER JOIN
, ако желаете), дори ако няма редове, съответстващи на тях в следващите таблици. Условието ON elements.ID = group_elements.ElementID AND group_elements.GroupID = 3
казва, че ако намерим нещо, което съответства на нашия ElementID, то също трябва да е драма (GroupID =3). След това правим още едно LEFT OUTER JOIN в таблицата на групите, което ни позволява да покажем колоната Жанр или NULL, ако елементът не е драма.