Thanks for the suggestion on aliasing the query results. I have tried this
SELECT * FROM Card WHERE Card.pk IN
(
(SELECT cardFK FROM Card_Tag
WHERE tagFK IN (9,6)
GROUP BY cardFK
HAVING COUNT(cardFK) = 2) AS X
INNER JOIN
(SELECT cardFK FROM Card_Source
WHERE sourceFK IN (8,2,4)
GROUP...