Hi,
The only reason it doesn't work is because in a subquery you need to give it an alias:
SELECT cards.[Shortname], cards.[Value] FROM
(SELECT {Card}.[Shortname], {Card}.[Value] FROM {Card}
UNION ALL
SELECT {Card}.[Shortname], {Card}.[Value] FROM {Card}) cards
ORDER BY NEWID()
You can rename cards to a name of your liking.
Hope it helps.
Kind regards,
João