19.07.2019, 05:48 [+3 UTC]
в нашей команде: 3 748 чел. | участники онлайн: 1 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
18.07.2019, 12:26

Последний вопрос:
19.07.2019, 04:09
Всего: 149940

Последний ответ:
18.07.2019, 12:04
Всего: 258705

Последняя рассылка:
17.07.2019, 22:15

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

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

Наша кнопка:

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

Отзывы о нас:
08.07.2010, 04:54 »
Kalina777
Спасибо за оперативный ответ! [вопрос № 179436, ответ № 262458]
21.05.2012, 00:14 »
Иван Васильевич Митяев
Спасибо огромное!! [вопрос № 186113, ответ № 270905]

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

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

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

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

solowey
Статус: Практикант
Рейтинг: 186
Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 143
Megaloman
Статус: Академик
Рейтинг: 109

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

Консультация онлайн # 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.14836 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35