Форум: "Базы";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
ВнизВторой вопрос по SQL Найти похожие ветки
← →
phantom2040 (2003-02-28 09:04) [0]Привет Мастера!!!
С этой задачей справились
Интересует такой вопрос, есть таблица по передаче факсов, поля следующие 1 - "категория" - в нем информация типе передаваемого сообщения к примеру: служебный, население и т.д. , 2-"Тип вызова" - в нем информация о типе вызова: Междугородний, международный, 3 - "Количество листов" - в нем сколько листов передано, 4 - "Всего" - соответственно сумма уплаченная за передачу. Задача такая нужно рассортировать по категориям по первому полю, каждую категорию рассортировать по типу вызова, просчитать количество услуг в каждой категории, просуммировать количество листов, и просумировать поле всего для каждой категории.
Вопрос можно ли такое сделать средствами языка SQL, в принципе задача решена с помошью циклов и массивов, но интересно можно ли более рационально решить все это дело, так сказать одной строкой, я уже второй раз сталкиваюсь с такой задачей и все время приходится извращаться при помощи массивов и циклов????
Таким вот способом
select TPKLIENT, TPVYZ, COUNT(*) as KUSL , SUM(ITOGO) as ITOG from faxout.db group by TPKLIENT, TPVYZ
Далее появился еще один вопрос нужно теперь сделать выборку за определенный период, скажем за текущий месяц, тогда плюс к тому описанию полей еще одно "Дата исполнения" в нем дата исполнения заказа.
Теперь посложнее в запрос это поле ни как не хочет входить, по скольку сгрупировать с ним не возможно, каким образом сначала сделать выборку по дате, а потом разгрупировать по категориям????
← →
Alexandr (2003-02-28 09:15) [1]курсовик пишешь?
И много у тебя еще вопросов?
Сам разобраться не пробовал?
← →
phantom2040 (2003-02-28 09:26) [2]Нет это последний, курсовик я не пишу, просто хочу оптимизировать программу, но у меня мало информации по языку SQL, а времени по электронным изданиям лазить нет, а на счет первого вопроса спасибо популярно все объяснили, а вот на счет второго........
← →
Соловьев (2003-02-28 09:32) [3]
...
where
(
Date>=:Cast(:PDATA1 as DateTime)
and
Date<=:Cast(:PDATA2 as DateTime)
)
Group by Kategor
← →
Johnmen (2003-02-28 09:35) [4]Приведи структуру таблицы и предполагаемый запрос.
← →
phantom2040 (2003-02-28 09:53) [5]Занчит корректирую задачу, сначала нужно выбрать записи по периоду текущего месяца с 1 числа до последнего, а потом из выбранного выбрать количество предоставленных услуг с групппировкой по категориям и сумированием итогов.
Это плучается запрос из запроса что ли.........
← →
Johnmen (2003-02-28 10:18) [6]Поскольку в локальном SQL есть ограничения по применению вложенных запросов, то м.б. стоит посмотреть в сторону UNION.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c