Можно вот так:
Код:
SELECT top 1 отели.Название, Count(заказы.отель) AS [Количество заказов]
FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель
GROUP BY отели.Название
order by Count(Таблица2.Заказы) desc
Но этот запрос выдаст только одну запись.
Если вы используете Access, ничего умнее я не придумал кроме:
Код:
SELECT [t1].Название, [t1].[Количество заказов]
FROM (
SELECT отели.Название, Count(заказы.отель) as [Количество заказов]
FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель
group by отели.Название
) AS [t1]
where [t1].[Количество заказов]=(select max( [t2].[Количество заказов])from (
SELECT отели.Название, Count(заказы.отель) as [Количество заказов]
FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель
group by отели.Название
) as t2)
А если используете SQL Server, тогда:
Код:
declare @t1 table ([Название] varchar (50),[Количество заказов] int)
insert into @t1
SELECT отели.Название, Count(заказы.отель) as [Количество заказов]
FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель
group by отели.Название
select * from @t1 as t1 where t1.[Количество заказов]=(select max(t2.[Количество заказов]) from @t1 as t2)
Выбирайте...