powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите составить запрос qRate_Period
7 сообщений из 7, страница 1 из 1
Помогите составить запрос qRate_Period
    #39139646
dmitriy_po
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
помогите, пожалуйста, в прикрепленной БД составить запрос qRate_Period.
Краткая справка. В запросе qPeriod есть перечень периодов Год - Месяц. В запросе qPeriod_Rate к каждому периоду необходимо подставить тариф (Rate), действующий в данном периоде. Тарифы находятся в таблице tRate. Год - Месяц в данной таблице означают период начала действия тарифа.
Запрос qPeriod_Rate составлен с использованием left join, все нулы необходимо заменить на тариф.

Заранее благодарен за помощь.
...
Рейтинг: 0 / 0
Помогите составить запрос qRate_Period
    #39139692
dmitriy_po,
Код: sql
1.
2.
3.
4.
5.
SELECT tYear.YEAR_, tMonth.MTH_NUM, tRate.RATE
FROM tRate, tMonth, tYear
WHERE tRate.YEAR_*100+tRate.MTH_NUM=(SELECT Max(t.YEAR_*100+t.MTH_NUM) FROM tRate As t 
      WHERE t.YEAR_*100+t.MTH_NUM<=tYear.YEAR_*100+tMonth.MTH_NUM)
ORDER BY tYear.YEAR_, tMonth.MTH_NUM


В данном случае запрос qPeriod не нужен.
...
Рейтинг: 0 / 0
Помогите составить запрос qRate_Period
    #39139699
dmitriy_po
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Практикант-dmitriy_po,
Код: sql
1.
2.
3.
4.
5.
SELECT tYear.YEAR_, tMonth.MTH_NUM, tRate.RATE
FROM tRate, tMonth, tYear
WHERE tRate.YEAR_*100+tRate.MTH_NUM=(SELECT Max(t.YEAR_*100+t.MTH_NUM) FROM tRate As t 
      WHERE t.YEAR_*100+t.MTH_NUM<=tYear.YEAR_*100+tMonth.MTH_NUM)
ORDER BY tYear.YEAR_, tMonth.MTH_NUM


В данном случае запрос qPeriod не нужен.

Благодарю за ответ.
А есть вариант с джоинами? Если чесно, то мне сложно разобраться в логике данного запроса, чтобы адаптировать его к моей рабочей базе. К тому же, поле Period мне необходимо.

Спасибо.
...
Рейтинг: 0 / 0
Помогите составить запрос qRate_Period
    #39139703
dmitriy_po
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Практикант-dmitriy_po,
Код: sql
1.
2.
3.
4.
5.
SELECT tYear.YEAR_, tMonth.MTH_NUM, tRate.RATE
FROM tRate, tMonth, tYear
WHERE tRate.YEAR_*100+tRate.MTH_NUM=(SELECT Max(t.YEAR_*100+t.MTH_NUM) FROM tRate As t 
      WHERE t.YEAR_*100+t.MTH_NUM<=tYear.YEAR_*100+tMonth.MTH_NUM)
ORDER BY tYear.YEAR_, tMonth.MTH_NUM


В данном случае запрос qPeriod не нужен.

Очень долго выполняется...
...
Рейтинг: 0 / 0
Помогите составить запрос qRate_Period
    #39139717
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmitriy_po, посмотрите вариант. Таблица tRate изменена, добавлены начальный и конечный пределы интервалов в формате YYYYMM. Запрос qPeriod также изменен, добавлено поле P содержащее число формата YYYYMM. Выходной запрос qP. Этот запрос можно открывать только в SQL, в конструкторе он будет испорчен :-)
...
Рейтинг: 0 / 0
Помогите составить запрос qRate_Period
    #39139730
dmitriy_poА есть вариант с джоинами?
Код: sql
1.
2.
3.
4.
5.
SELECT Z.YEAR_, Z.MTH_NUM, R.Rate
FROM (SELECT P.YEAR_, P.MTH_NUM, Max(R.Dat) As MaxDat
      FROM qPeriod As P INNER JOIN qRate As R ON P.Period>=R.Dat
      GROUP BY P.YEAR_, P.MTH_NUM) As Z
INNER JOIN qRate As R ON Z.MaxDat=R.Dat


где qRate запрос
Код: sql
1.
2.
SELECT DateSerial(YEAR_, MTH_NUM,1) AS Dat, RATE
FROM tRate
...
Рейтинг: 0 / 0
Помогите составить запрос qRate_Period
    #39140155
dmitriy_po
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Практикант-dmitriy_poА есть вариант с джоинами?
Код: sql
1.
2.
3.
4.
5.
SELECT Z.YEAR_, Z.MTH_NUM, R.Rate
FROM (SELECT P.YEAR_, P.MTH_NUM, Max(R.Dat) As MaxDat
      FROM qPeriod As P INNER JOIN qRate As R ON P.Period>=R.Dat
      GROUP BY P.YEAR_, P.MTH_NUM) As Z
INNER JOIN qRate As R ON Z.MaxDat=R.Dat


где qRate запрос
Код: sql
1.
2.
SELECT DateSerial(YEAR_, MTH_NUM,1) AS Dat, RATE
FROM tRate



Благодарю за помощь! Все получилось.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите составить запрос qRate_Period
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]