Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.12.2013, 19:47
Gedimen Gedimen вне форума
Прохожий
 
Регистрация: 23.12.2013
Сообщения: 1
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию Firebird Запрос данных из нескольких таблиц

Доброго времени суток, господа форумчане.
Firebird 2.5 , Delphi XE5

Есть три таблицы:
t1 - виды тарифов;
t2 - цены тарифа и порядок образования цены (фиксированная, рассчитывается по базе и процентом от базы, вносятся на дату! (подчинена t1);
t3 - таблица с перечислениями: фиксированная, рассчитывается по базе, процентом от базы (значения используются в t2).

Собственно проблема в запросе к базе данных firebird. Уже всю голову сломал.

Нужно получить список всех тарифов (таблица t1) с последней ценой на дату (t2) и со значением порядка образования цены (t3).

t1.fname - наименование,
t2.fval - цена,
t2.fdate - дата значения,
t3.fname_val - порядок образования

Код:
SELECT t1.fname, t2.fval, t3.fname_val 
FROM t1 LEFT JOIN t2 ON t2.id_t1 = t1.id LEFT JOIN t3 ON t3.id = t2.id_t3 WHERE t2.fdate<='31.12.2013'


В итоге получается примерно такая фигня:
Наименование Цена Порядок образования цены
Тариф1 10,00 фиксированной суммой
Тариф1 12,00 фиксированной суммой
Тариф2 5,00 Расчет по базе
Тариф3 7,00 Расчет по базе
Тариф3 12,00 фиксированной суммой

Должна быть одна запись по каждому тарифу, т.е. последнее значение на дату. Может быть к t2 FIRST прикрутить можно?
Помогите, пожалуйста!
Ответить с цитированием
  #2  
Старый 31.01.2014, 13:57
Rus_boz Rus_boz вне форума
Прохожий
 
Регистрация: 30.01.2014
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Какова структура таблиц, и какие связи между ними?
Ответить с цитированием
  #3  
Старый 31.01.2014, 17:29
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

немного непонятно

если есть автоинкремент, может его прикрутить? больший инкремент будет последним в диапазоне дат...
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:14.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter