
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.04.2004, 12:49
|
|||
|---|---|---|---|
|
|||
Как показать только (n-2) строки запроса? |
|||
|
#18+
Привет! Имеется запрос, который выводит строки из таблицы с днями данного месяца + 3 последних дня из предыдущего. Как сделать, чтобы он выводил все дни за данный месяц + только 1 последний за предыдущий месяц? Думал использовать TOP в SELECT'e, но не знаю, что подставить после TOP'а... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 12:57
|
|||
|---|---|---|---|
Как показать только (n-2) строки запроса? |
|||
|
#18+
select top 1 * from mytable where dateRec between ПервыйДеньПредМес() and ПослДеньПредМес() order by dateRec desc union select * from mytable where dateRec between ПервыйДеньТекМес() and ПослДеньТекМес() (не проверяя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:01
|
|||
|---|---|---|---|
Как показать только (n-2) строки запроса? |
|||
|
#18+
Примерно так: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:02
|
|||
|---|---|---|---|
|
|||
Как показать только (n-2) строки запроса? |
|||
|
#18+
Мда, вот я не допетрил :) Спасибо! Просто я думал, друг есть какой-нить TOP (Rows-2) или что-то такое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:05
|
|||
|---|---|---|---|
Как показать только (n-2) строки запроса? |
|||
|
#18+
только union all лучше, а то мало ли что... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:06
|
|||
|---|---|---|---|
Как показать только (n-2) строки запроса? |
|||
|
#18+
Можно по-другому: select * from запрос where idRec not in (select top 2 idRec from запрос order by dateRec) или он же с лефт жойном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:23
|
|||
|---|---|---|---|
|
|||
Как показать только (n-2) строки запроса? |
|||
|
#18+
Geo Второй вариант "запрос в запросе" выполняется нааааааамного медленнее, чем первый :) Решил использовать UNION. Спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:27
|
|||
|---|---|---|---|
Как показать только (n-2) строки запроса? |
|||
|
#18+
или он же с лефт жойном select запрос.* from запрос left join запрос as з on запрос.idRec = з.idRec where з.idRec is null работать будет, возможно, даже быстрее union not in в jet работает очень медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2004, 13:28
|
|||
|---|---|---|---|
Как показать только (n-2) строки запроса? |
|||
|
#18+
т.е. 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1675665]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 450ms |

| 0 / 0 |
