Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 16:12   #11
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

так пробуйте:
Код:
SELECT top 1 Пациенты.Фамилия, count(Обращения.Код) AS [Количество обращений]
FROM Пациенты INNER JOIN Обращения ON Пациенты.Код = Обращения.Пациент
GROUP BY Пациенты.Фамилия
order by 2 desc
=master= вне форума Ответить с цитированием
Старый 03.05.2012, 16:19   #12
papirys
 
Регистрация: 03.05.2012
Сообщений: 7
По умолчанию

я бы попробовал так, вместо order by 2 desc

order by count(Обращения.Код) desc
не бывает глупых вопросов....
papirys вне форума Ответить с цитированием
Старый 03.05.2012, 16:26   #13
Uh-Oh
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 12
По умолчанию

Эффект тот же. А так можно?
Код:
SELECT top 1 Пациенты.Фамилия, count(Обращения.Код) AS [Количество обращений]
FROM Пациенты INNER JOIN Обращения ON Пациенты.Код = Обращения.Пациент
GROUP BY Пациенты.Фамилия
order by count(Обращения.Код) desc
Uh-Oh вне форума Ответить с цитированием
Старый 03.05.2012, 16:28   #14
Uh-Oh
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 12
По умолчанию

Ага, теперь вижу,что можно
Uh-Oh вне форума Ответить с цитированием
Старый 03.05.2012, 16:32   #15
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Да но это четко по ТЗ, т.е. выводит только одного.
Если максимальное колво у нескольких, то выведит первого попавшегося, в случае если надо их всех, то нужен подзапрос.
=master= вне форума Ответить с цитированием
Старый 03.05.2012, 18:18   #16
Uh-Oh
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 12
По умолчанию

Хм, я так понимаю, подзапрос это то, что я пыталась изобразить... А вот такой вариант кажется тоже работает
Код:
SELECT Пациенты.Фамилия, count(Обращения.Код) AS [Количество обращений]
FROM Пациенты INNER JOIN Обращения ON Пациенты.Код = Обращения.Пациент
GROUP BY Пациенты.Фамилия
HAVING count(Обращения.Код)>= ALL
(SELECT count(Обращения.Код)
FROM Пациенты INNER JOIN Обращения ON Пациенты.Код = Обращения.Пациент 
GROUP BY Пациенты.Фамилия);
Uh-Oh вне форума Ответить с цитированием
Старый 03.05.2012, 18:30   #17
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Тут HAVING не нужен, надо просто в подзапросе достать максимум и проверить на это значение.
=master= вне форума Ответить с цитированием
Старый 03.05.2012, 19:11   #18
Uh-Oh
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 12
По умолчанию

Достать максимум количества обращений? А не получится, что надо делать вложенный запрос во вложенном запросе? От мах(count(...)) программа не в восторге
Uh-Oh вне форума Ответить с цитированием
Старый 03.05.2012, 19:19   #19
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Предыдущий запрос с одером что выводил?
=master= вне форума Ответить с цитированием
Старый 03.05.2012, 19:21   #20
Uh-Oh
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 12
По умолчанию

А, ну да) Спасибо большое)
Uh-Oh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с запросом! Chemik Microsoft Office Access 1 06.01.2012 15:11
проблема с запросом virtuhay266 SQL, базы данных 1 06.06.2011 21:26
Проблема с запросом StreetNBA Microsoft Office Access 3 01.06.2011 14:25
Проблема с запросом! LizaVeta Общие вопросы Delphi 3 09.05.2010 07:07
Проблема c запросом! SatS SQL, базы данных 6 24.01.2009 22:52