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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 18:04   #1
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию sql -запрос

Доброго времени суток.
Нужно написать запрос чтобы: из таблицы можно было выбрать данные за определенный период (к примеру количество) и сгруппировать их по месяцам и коду, т.е. если мы выбрали период с 01.01.2009 по 31.03.2009, то нам рассчитало за 3 месяца.
например
ид мас дата
1 - 200 кг поступило 01.01.2009
2 - 100 кг поступило 03.01.2009
1 - 666 кг поступило 01.02.2009
4 - 300 кг поступило 02.17.2009 и в итоге вышло?

1 - 866 -1 месяц
2 - 100 -3 месяц
4 - 300 -2 месяц
pobedin вне форума Ответить с цитированием
Старый 27.08.2009, 18:17   #2
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Код:
SELECT ид, мас, дата FROM таблица WHERE дата >= '01.01.2009' AND дата <= '31.03.2009' ORDER BY ид ASC, дата ASC;
Будут выбраны записи с датами от 01.01.2009 до 31.01.2009, отсортированные по ид и дата.
Что приоритетнее - сортировка по ид или дата, если дата, то поставь дата ASC перед ид ASC.

P.S. Помоиму, у тебя не корректный пример.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".

Последний раз редактировалось Daramant; 27.08.2009 в 18:24.
Daramant вне форума Ответить с цитированием
Старый 27.08.2009, 19:00   #3
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а какая субд?
как у вас дата обрезается до месяца?

запрос будет таким
Код:
select 
  id,
  sum(massa) sum_massa,
  trunc(rec_date, 'mm') period
from your_table
group by id, trunc(rec_date, 'mm')
soleil@mmc вне форума Ответить с цитированием
Старый 28.08.2009, 08:58   #4
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию

это все paradox таблицы. дата еще пока никак не обрезается. вот думаю как делать. обрезать сразу в запросе или при внесении даты в базу...
pobedin вне форума Ответить с цитированием
Старый 28.08.2009, 10:54   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от pobedin Посмотреть сообщение
это все paradox таблицы. дата еще пока никак не обрезается. вот думаю как делать. обрезать сразу в запросе или при внесении даты в базу...
обрезать сразу в запросе
soleil@mmc вне форума Ответить с цитированием
Старый 28.08.2009, 11:01   #6
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию

ну да, только вот чего-то он ругается на trunc(rec_date, 'mm')
pobedin вне форума Ответить с цитированием
Старый 28.08.2009, 11:08   #7
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от pobedin Посмотреть сообщение
ну да, только вот чего-то он ругается на trunc(rec_date, 'mm')
1) кагбэ надо понимать, что раз в стартовом топике и по ходу обсуждения не приведены реальные имена столбцов, то и все примеры будут с такими же квазистолбцами - так что правь названия под свои нужды
2) ну а с парадоксом может заработать просто trunc(rec_date) или какой-нить substr(cast(rec_date as varchar(20)) , 4, 7) или substr(rec_date, 4, 7)

короче, нужно поэкспериментировать или взять доку и порыться в доступных функах
soleil@mmc вне форума Ответить с цитированием
Старый 28.08.2009, 11:11   #8
pobedin
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 105
По умолчанию

1) естественно я использовал реальные имена столбцов
2) поэкспериментирую
спасибо!
pobedin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос Юлёк PHP 4 29.01.2008 17:35
SQL запрос SERG1980 БД в Delphi 6 19.10.2007 23:03
SQL-запрос Stenfit Помощь студентам 2 02.04.2007 18:35
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15