Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как выбрать предпоследнюю запись ?  [new]
revda.info
Member

Откуда:
Сообщений: 570
Надо выбрать предпоследнюю запись (определяецца по полю DateAnalizFinish с типом: datetime) где AnalizComplete=1, и idFurnace=4

&&&???
28 июн 05, 08:36    [1654324]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать предпоследнюю запись ?  [new]
Andrew1411
Member

Откуда: Москва
Сообщений: 401
revda.info
Надо выбрать предпоследнюю запись (определяецца по полю DateAnalizFinish с типом: datetime) где AnalizComplete=1, и idFurnace=4

&&&???


Select * Top 1
from
where DataAnalizFinish<max(DataAnalizFinish) and AnalizComplete=1 and idFurnace=4
28 июн 05, 08:42    [1654331]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать предпоследнюю запись ?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34271
Блог
SELECT TOP 1 *
  FROM [имя таблицы]
  WHERE [AnalizComplete] = 1 AND
        [idFurnace]      = 4 AND
        [DataAnalizFinish] < (SELECT MAX(DataAnalizFinish)
                               FROM [имя таблицы])
  ORDER BY DataAnalizFinish DESC
28 июн 05, 08:57    [1654352]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать предпоследнюю запись ?  [new]
revda.info
Member

Откуда:
Сообщений: 570
В результате мы имеем одну запись..
теперь из этой записи надо взять значение поля под именем idTechPassp и по нему найти в другой табличке все значения
т.е.

select * from table2 where idTechPassp= (тот idTechPassp который нашелся благодаря первому запросу)

Такое возможно вообще ?
28 июн 05, 09:43    [1654449]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать предпоследнюю запись ?  [new]
itON
Member

Откуда: Москва
Сообщений: 391
revda.info
Такое возможно вообще ?

??
select * from table2 where idTechPassp=
(select top 1 idTechPassp from 
 (select top 2 idTechPassp from table1 	
  order by DateAnalizFinish desc)a
 order by DateAnalizFinish)
28 июн 05, 10:28    [1654625]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать предпоследнюю запись ?  [new]
revda.info
Member

Откуда:
Сообщений: 570
Почти правильно.. правильный вариант такой

select * from table2 where idTechPassp=
(select top 1 idTechPassp from 
 (select top 2 * from Table1
 order by DateAnalizFinish desc)a
 order by DateAnalizFinish)

8) в первой выборке мы не можем брать по одному полю
28 июн 05, 10:47    [1654717]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать предпоследнюю запись ?  [new]
itON
Member

Откуда: Москва
Сообщений: 391
revda.info
8) в первой выборке мы не можем брать по одному полю

Ну да забыл еще DateAnalizFinish указать в селекте.
28 июн 05, 11:01    [1654770]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить