Het is niet klagen omdat de subquery 2 resultaten maar twee kolommen retourneert. Maar zelfs als het maar één kolom zou retourneren, zou het 2 resultaten opleveren en de hoofdquery zou hetzelfde doen.
Geen subquery nodig in ieder geval:
SELECT s.shopname
FROM Shopstable s
JOIN OrdersTable o ON s.shopnum=o.shopnum
GROUP BY s.shopname
ORDER BY count(*) DESC
LIMIT 1