Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как показать только (n-2) строки запроса? / 9 сообщений из 9, страница 1 из 1
01.04.2004, 12:49
    #32465339
Vadim Kutuzov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
Привет!

Имеется запрос, который выводит строки из таблицы с днями данного месяца + 3 последних дня из предыдущего. Как сделать, чтобы он выводил все дни за данный месяц + только 1 последний за предыдущий месяц?

Думал использовать TOP в SELECT'e, но не знаю, что подставить после TOP'а... :(
...
Рейтинг: 0 / 0
01.04.2004, 12:57
    #32465367
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
select top 1 * from mytable where dateRec between ПервыйДеньПредМес() and ПослДеньПредМес() order by dateRec desc
union
select * from mytable where dateRec between ПервыйДеньТекМес() and ПослДеньТекМес()

(не проверяя)
...
Рейтинг: 0 / 0
01.04.2004, 13:01
    #32465378
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
Примерно так:
SELECT OutOrder.OutOrderOrderDate, OutOrder.OutOrderID, Month([OutOrderOrderDate]) AS Expr1
FROM OutOrder
WHERE Month([OutOrderOrderDate])=3
ORDER BY OutOrder.OutOrderOrderDate DESC
UNION
SELECT TOP 1 OutOrder.OutOrderOrderDate, OutOrder.OutOrderID, Month([OutOrderOrderDate]) AS Expr1
FROM OutOrder
WHERE (((Month([OutOrderOrderDate]))=2))
ORDER BY OutOrder.OutOrderOrderDate DESC
...
Рейтинг: 0 / 0
01.04.2004, 13:02
    #32465383
Vadim Kutuzov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
Мда, вот я не допетрил :) Спасибо!

Просто я думал, друг есть какой-нить TOP (Rows-2) или что-то такое...
...
Рейтинг: 0 / 0
01.04.2004, 13:05
    #32465391
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
только union all лучше, а то мало ли что...
...
Рейтинг: 0 / 0
01.04.2004, 13:06
    #32465396
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
Можно по-другому:
select * from запрос
where idRec not in (select top 2 idRec from запрос order by dateRec)

или он же с лефт жойном
...
Рейтинг: 0 / 0
01.04.2004, 13:23
    #32465432
Vadim Kutuzov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
Geo
Второй вариант "запрос в запросе" выполняется нааааааамного медленнее, чем первый :)

Решил использовать UNION. Спасибо всем!
...
Рейтинг: 0 / 0
01.04.2004, 13:27
    #32465439
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
или он же с лефт жойном

select запрос.* from запрос left join запрос as з on запрос.idRec = з.idRec
where з.idRec is null

работать будет, возможно, даже быстрее union

not in в jet работает очень медленно.
...
Рейтинг: 0 / 0
01.04.2004, 13:28
    #32465443
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как показать только (n-2) строки запроса?
т.е.

select запрос.* from запрос left join (select top 2 idRec from запрос order by dateRec) as з on запрос.idRec = з.idRec
where з.idRec is null

так примерно.

А для А97

select запрос.* from запрос left join [select top 2 idRec from запрос order by dateRec]. as з on запрос.idRec = з.idRec
where з.idRec is null
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как показать только (n-2) строки запроса? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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