Не се оплаква, защото подзаявката връща 2 резултата, но две колони. Но дори и да върне само една колона, ще върне 2 резултата и основната заявка ще направи същото.
В никакъв случай няма нужда от подзаявка:
SELECT s.shopname
FROM Shopstable s
JOIN OrdersTable o ON s.shopnum=o.shopnum
GROUP BY s.shopname
ORDER BY count(*) DESC
LIMIT 1