powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите построить запрос.
16 сообщений из 16, страница 1 из 1
Помогите построить запрос.
    #39225581
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Помогите пож. построить запрос.
Никак не соображу.

Таблица 1 TOV
ID_TOV (Ключ)
Tov_KOD

Таблица 2 PART
ID_TOV (связь с Таблицей 1)
Price (цена)
d_input (Дата прихода)

Нужна выборка:

TOV.Tov_KOD, PART.Price

Условие MAX(d_input).

т.е. код и цена последнего прихода.

Спасибо!
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225585
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mironico!
You wrote on 27 апреля 2016 г. 13:43:40:

Mironicoкод и цена последнего прихода.это задачка уровня лабораторной работы
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225587
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mironico, select...first...order desc
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225588
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

Да понимаю, но что-то никак не могу вьехать.
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225596
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mironico!
You wrote on 27 апреля 2016 г. 13:49:50:

Mironico> понимаю, но что-то никак не могу вьехать.
читай учебник ещё раз
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225802
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MironicoУсловие MAX(d_input).

т.е. код и цена последнего прихода.


MAX() тебе даст максимальный приход, никак не последний. Ты уж проясни ситуацию, чего тебе надобно, мил человек.
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225805
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

Тьфу блин, невнимательно прочел... Таки да, даст максимальную дату.
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225858
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
select a.tov_kod, (select first 1 b.price from part b
                              where b.idtov=a.idtov
                              order by b.d_input desc) as pr
from tovars a



Шото я наваял но работает оно ооочень медленно.
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225870
Вфшь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mironico, а так:

select first 1 b.price, a.tov_kod
from part b
left join pars a on b.id_tov = a.id_tov
order by b.d_input desc
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225872
вфшь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mironico, вернее

select first 1 b.price, a.tov_kod
from part b
left join TOV a on b.id_tov = a.id_tov
order by b.d_input desc
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225877
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вфшь,

Запрос выводит одну строку поскольку "first 1".
А тут нужно все из 'tov'
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225951
вфшь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mironico, это да. Твой запрос по времени норм работает, только добавь проверку на дату (а то если не было даты на товар то запрос все равно выдаст этот товар)
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225959
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через Access слепил рабочий вариант
Код: sql
1.
2.
3.
4.
SELECT TOVARS.TOVAR_KOD, First(PARTIONS.PRICE) AS [First-PRICE]
FROM TOVARS INNER JOIN PARTIONS ON TOVARS.IDTOVAR = PARTIONS.IDTOVAR
GROUP BY TOVARS.TOVAR_KOD
ORDER BY Max(PARTIONS.D_UPDATE) DESC;



Только чем заменить "First(PARTIONS.PRICE)"?
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39225997
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
SELECT TOVARS.TOVAR_KOD, MAX(PARTIONS.PRICE) as pr
        FROM TOVARS INNER JOIN PARTIONS ON TOVARS.IDTOVAR = PARTIONS.IDTOVAR
        GROUP BY TOVARS.TOVAR_KOD
        ORDER BY Max(PARTIONS.D_UPDATE) DESC



Получилось наконец.
Всем спасибо!
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39226003
вфшь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mironico, и что толку, а если цена будет в следующей партии меньше, то выборка будет не верна!
...
Рейтинг: 0 / 0
Помогите построить запрос.
    #39226079
вфшь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mironico, так что лучший твой вариант это был с подзапросом. Немного поправил

select a.kod, p.PRICE
from TOV a
left join part p on p.ID = (select first 1 b.id
from part b
where b.id_tov = a.id
order by b.d_input desc)
where p.D_INPUT is not null
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите построить запрос.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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