|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
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 прикрутить можно? Помогите, пожалуйста! |