È possibile con questo piccolo trucco (OUTER JOIN sulla tabella molti-a-molti, con il vincolo che il GroupID deve essere 3 (per Drama)
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
significa :prendi tutte le righe dalle tabelle che hanno preceduto (quelle che si trovano sul lato SINISTRO del LEFT OUTER JOIN
, se vuoi), anche se non ci sono righe corrispondenti nelle tabelle seguenti. La condizione ON elements.ID = group_elements.ElementID AND group_elements.GroupID = 3
dice che se troviamo qualcosa che corrisponde al nostro ElementID, deve anche essere un dramma (GroupID =3). Quindi eseguiamo un altro LEFT OUTER JOIN sulla tabella dei gruppi, che ci consente di visualizzare la colonna Genere o NULL se l'elemento non era un dramma.