19.02.2020, 06:23 [+3 UTC]
в нашей команде: 4 219 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.81 (18.02.2020)
JS-v.1.35 | CSS-v.3.37

Общие новости:
06.01.2020, 22:45

Форум:
12.02.2020, 12:22

Последний вопрос:
19.02.2020, 01:29
Всего: 151631

Последний ответ:
19.02.2020, 01:11
Всего: 259783

Последняя рассылка:
18.02.2020, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
25.12.2011, 20:48 »
Николай Мироненко
Спасибо!!!) [вопрос № 184957, ответ № 269325]
29.03.2010, 11:30 »
Бондаренко Кирилл Андреевич
Огромное спасибо за помощь! [вопрос № 177519, ответ № 260433]
18.05.2011, 15:30 »
Гречко Альберт Алексеевич
Это именно то, что нужно! Спасибо! [вопрос № 183214, ответ № 267212]

РАЗДЕЛ • Базы данных

Установка и настройка серверов баз данных, таблицы и запросы.

[администратор рассылки: Коцюрбенко Алексей Владимирович (Модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 611
solowey
Статус: Специалист
Рейтинг: 259
SAW
Статус: 7-й класс
Рейтинг: 137

Перейти к консультации №:
 

Консультация онлайн # 70448
Раздел: • Базы данных
Автор вопроса: КЕВ
Отправлена: 11.01.2007, 11:41
Поступило ответов: 5

Здравствуйте, подскажите кто сможет. Есть таблицы Список и Данные. В таблице Данные поля Код, Год, I кв, II кв, III кв, IV кв. Необходимо выбрать данные за кокой-то период (например с IV кв 2000 г по III кв 2002 г). Кто подскажет как это реализовать.
Заранее благодарю.

Состояние: Консультация закрыта

Ответ # 135943 от PaVeL_Ekt

Здравствуйте, КЕВ!

Надо преобразовать 4 кв. 2000 г. в формат даты (01.09.2000)
3 кв. 2002 года соответственно (01.06.2002)

по функциям посмотрю и напишу на минифорум


Консультировал: PaVeL_Ekt
Дата отправки: 11.01.2007, 11:57

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 135950 от Архангельский Андрей Германови

Здравствуйте, КЕВ!
1) Какая-то странная структура - хотелось бы подробное описание таблицы
2) Выборка в диапазоне выполняется оператором :

where Fild1 BETWEEN data1 and data2

3) Для выборки из даты квартала существуют различные функции зависящие от реализации СУБД. НАпример, в Firebird это функция f_Quarter, которая выдает номер квартала в году


Консультировал: Архангельский Андрей Германови
Дата отправки: 11.01.2007, 12:24

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Здравствуйте, КЕВ!
Если я правильно понял объяснения, то - суперская компоновка таблицы. Тот гений, что ее разрабатывал, что-нибудь вааще о нормализации хотя бы слышал. Но это эмоции.
Для последующего использования например в агрегатных функциях как вариант можно использовать union по каждому кварталу:
select year, I from t where year=2001 or year=2002 UNION ALL
select year, II from t where year=2001 or year=2002 UNION ALL
select year, III from t where year=2001 or year=2002 UNION ALL
select year, IV from t where year=2000 or year=2001


Консультировал: Tek
Дата отправки: 11.01.2007, 12:27

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 136012 от Grigory

Здравствуйте, КЕВ!
Для реализации такого поиска Вам нужна немного другая структура таблицы Данные:
Код
Год
Квартал

Таким образом, для того, чтобы выбрать данные за определенный период, Вам надо будет указать Год и Квартал начала периода и конца периода, за который Вы хотите найти данные. Тогда запрос будет примерно такой:

SELECT * FROM Данные WHERE Год = 2005 AND Квартал between 2 and 4 - этот запрос вам вернет данные о периоде начиная с 2 квартала 2005 года и кончая 4 кварталом 2005 года.


Консультировал: Grigory
Дата отправки: 11.01.2007, 17:48

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 136055 от Игорь Елизаров

Здравствуйте, КЕВ!
у нас в системе, например, реализовано следующим образом.
отчетные периоды нумеруются код =год + номер отчетного периода, получается обычное целое число,а дальше уже обычный отбор

select * from table where period >=20004 and period <= 20023

На самом деле удобно еще хранить дату начала и окончания периода.
Это позволит сразу определить, к какому отчетному периоду относится та или иная дата.

С уважением, Игорь


Консультировал: Игорь Елизаров
Дата отправки: 11.01.2007, 23:07

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16585 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.81 от 18.02.2020
Версия JS: 1.35 | Версия CSS: 3.37