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

start [/forum/topic.php?fid=45&fpage=1656&tid=1675665]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 389ms |

| 0 / 0 |
