Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.20;
Скачать: CL | DM;

Вниз

Второй вопрос по 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
9-63923
Ricks
2002-10-16 18:58
2003.03.20
Дождь, снег в OpenGL


1-64062
Alex The Second
2003-03-09 19:14
2003.03.20
TTreeView


14-64332
Supreme 2
2003-03-03 18:10
2003.03.20
Кто какую


3-64040
tribesman
2003-03-02 19:11
2003.03.20
Выбор БД


7-64394
Виталий
2003-01-21 10:18
2003.03.20
Знаком ли вам TAPI?