Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
Вниззапросы Найти похожие ветки
← →
dumka (2008-04-22 10:02) [0]Добрый день!
Помогите "добить" запрос
SELECT Телефоны.[Номер телефона], Абоненты.[ФИО абонента], Count(Разговоры.[Номер разговора]) AS [кол-во звонков]
FROM (Абоненты INNER JOIN Телефоны ON Абоненты.[Номер абонента] = Телефоны.[Номер абонента]) INNER JOIN Разговоры ON Телефоны.[Номер телефона] = Разговоры.[Номер телефона]
WHERE (((Month([Дата разговора]))=3))
GROUP BY Телефоны.[Номер телефона], Абоненты.[ФИО абонента]
вычисляет кто и сколько раз разговаривал по телефону в марте, но этого мало, надо из этого извлечь лидера по количеству звонков
заранее благодарю
← →
easy © (2008-04-22 10:09) [1]order by [кол-во звонков] desc
← →
Anatoly Podgoretsky © (2008-04-22 10:11) [2]> dumka (22.04.2008 10:02:00) [0]
ORDER BY Count(...
Eсли же только лидера, то Max(Count
← →
dumka (2008-04-22 10:11) [3]
> order by [кол-во звонков] desc
Не поможет, нужно выбрать одну запись
← →
dumka (2008-04-22 10:12) [4]
> Eсли же только лидера, то Max(Count
Я это делал, не работает
← →
Sergey13 © (2008-04-22 10:20) [5]> [4] dumka (22.04.08 10:12)
> Я это делал, не работает
Т.е. ты делал точно правильно, а оно все равно не работает?
← →
Anatoly Podgoretsky © (2008-04-22 10:23) [6]> dumka (22.04.2008 10:12:04) [4]
Странно, в прошлый раз было делала
← →
dumka (2008-04-22 10:24) [7]
> Т.е. ты делал точно правильно, а оно все равно не работает?
Невозможно использовать статистические функции в выражении
> Max(Count
← →
dumka (2008-04-22 10:26) [8]Я может не понял, это вот так
SELECT Телефоны.[Номер телефона], Абоненты.[ФИО абонента], Max(Count(Разговоры.[Номер разговора])) AS [кол-во звонков]FROM (Абоненты INNER JOIN Телефоны ON Абоненты.[Номер абонента] = Телефоны.[Номер абонента]) INNER JOIN Разговоры ON Телефоны.[Номер телефона] = Разговоры.[Номер телефона]
WHERE (((Month([Дата разговора]))=3))
GROUP BY Телефоны.[Номер телефона], Абоненты.[ФИО абонента]
← →
dumka (2008-04-22 10:29) [9]Я дальше продвинулся, сделал вот так
Select max([кол-во звонков])
from (SELECT Телефоны.[Номер телефона], Абоненты.[ФИО абонента], Count(Разговоры.[Номер разговора]) AS [кол-во звонков]
FROM (Абоненты INNER JOIN Телефоны ON Абоненты.[Номер абонента] = Телефоны.[Номер абонента]) INNER JOIN Разговоры ON Телефоны.[Номер телефона] = Разговоры.[Номер телефона]
WHERE (((Month([Дата разговора]))=3))
GROUP BY Телефоны.[Номер телефона], Абоненты.[ФИО абонента]
)
А нужно и фамилию и номер тел
← →
Sergey13 © (2008-04-22 10:37) [10]> [9] dumka (22.04.08 10:29)
СУБД какая? Ограничение вывода строк какое нибудь есть? Типа Top, First или нечто похожего?
select top 1
далее твой запрос с нужной сортировкой
← →
dumka (2008-04-22 10:43) [11]
> СУБД какая?
access
А сортировка тут зачем, нужно выбрать одну запись
← →
dumka (2008-04-22 10:44) [12]
> далее твой запрос с нужной сортировкой
Имеешь ввиду отсортировать и выбрать первую запись
← →
Рамиль © (2008-04-22 10:46) [13]Какая тебе разница одна или не одна? Все равно при таком запросе всё считаться будет. Бери первую запись из отсортированной выборки.
← →
dumka (2008-04-22 10:47) [14]Получилось, я этого точно не знал, спасибо!!!
← →
dumka (2008-04-22 11:55) [15]Уменя возник еще один маленький вопрос. Как отобрать абонентов, которые звонили только в Москву и больше никуда?
Мой вариант
SELECT Телефоны.[Номер телефона], Тариф.[Название города], Month([Дата разговора]) AS Выражение1
FROM Тариф INNER JOIN (Телефоны INNER JOIN Разговоры ON Телефоны.[Номер телефона] = Разговоры.[Номер телефона]) ON Тариф.[Код города] = Разговоры.[Код города]
WHERE (((Тариф.[Название города]) In ("Москва")) AND ((Month([Дата разговора]))=3));
← →
dumka (2008-04-22 11:57) [16]Но таким запросом отбираются все записи с Москвой, а нужно только Москва
← →
Sergey13 © (2008-04-22 11:59) [17]WHERE (((Тариф.[Название города]) ="Москва") and NOT EXISTS (select..... WHERE (((Тариф.[Название города]) <>"Москва")
← →
app © (2008-04-22 12:31) [18]> dumka (22.04.2008 11:57:16) [16]
Уже давно пора перейти в форум по Акцессу, здесь же обсуждается только программирование в Дельфи, а не составления запросов для той или другой БД.
← →
dumka (2008-04-22 12:43) [19]
> Уже давно пора перейти в форум по Акцессу, здесь же обсуждается
> только программирование в Дельфи, а не составления запросов
> для той или другой БД.
платформа Акцессу,а программирование в Дельфи
← →
Плохиш © (2008-04-22 12:59) [20]
> dumka (22.04.08 12:43) [19]
> платформа Акцессу,а программирование в Дельфи
Можно указать хоть один пост в этой ветке с программированием?
К [18] стоило добавить, что для начала надо прочитать какую-нибуть литературу по акцессу, хотя бы и справку, и включить наконец логику, если она имеется.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.083 c