powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с запросом ПЖЛСТ :)
5 сообщений из 5, страница 1 из 1
Помогите с запросом ПЖЛСТ :)
    #35149488
FoxDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица истории продажи запчастей, нужно выделить из этой таблицы последнюю запись продажи на текущий период, что то типа

SELECT * FROM sf_41020 WHERE sto_date =< {^2007/12/31} GROUP BY artnr

Проблема в том как вывести последнюю запись, т.е. запись с макс значением полей sto_date и sto_time
...
Рейтинг: 0 / 0
Помогите с запросом ПЖЛСТ :)
    #35149532
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> SELECT * FROM sf_41020 WHERE sto_date =< {^2007/12/31} GROUP BY artnr
>
> Проблема в том как вывести последнюю запись, т.е. запись с макс
> значением полей sto_date и sto_time


SELECT * FROM sf_41020 WHERE sto_date =< {^2007/12/31} GROUP BY artnr where
sto_date in (sele max(sto_date) from sf_41020 group by artnr)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите с запросом ПЖЛСТ :)
    #35149536
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
select top  1  * ;
   from sf_41020 ;
   order by sto_date desc, sto_time desc
...
Рейтинг: 0 / 0
Помогите с запросом ПЖЛСТ :)
    #35149653
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Пусть DET_ID это уникальный идентификатор детали (как у вас это поле называется я не знаю), а sto_date дата продажи
2. m.Data1 и m.Data2 это диапазон продаж
3. У вас VFP 9.0 или SQL ANSI
Тогда можно через корреляционный запрос для всех деталей:
Код: plaintext
1.
2.
3.
SELECT a.* FROM sf_41020 a WHERE a.sto_date = (SELECT MAX(b.sto_date) 
FROM sf_41020 b WHERE a.DET_ID = b.DET_ID AND b.sto_date BETWEEN m.Data1 AND m.Data2)
WHERE a.sto_date BETWEEN m.Data1 AND m.Data2
Для заданной детали m.lnDET_ID можно так:
Код: plaintext
1.
2.
3.
SELECT a.* FROM sf_41020 a WHERE a.sto_date = (SELECT MAX(b.sto_date) 
FROM sf_41020 b WHERE a.DET_ID = b.DET_ID AND b.sto_date BETWEEN m.Data1 AND m.Data2)
WHERE a.sto_date BETWEEN m.Data1 AND m.Data2 AND a.DET_ID = m.lnDET_ID

С уважением, Алексей
...
Рейтинг: 0 / 0
Помогите с запросом ПЖЛСТ :)
    #35154270
FoxDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за помощь
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с запросом ПЖЛСТ :)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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