Вниз
Скачать: CL | DM;

where DPO in   Найти похожие ветки 

 
litt   (2006-10-11 12:55) [0]

Есть запрос....


select * from tab_Ras
where DPO in
( SELECT    DPPO
                           FROM          tab_Ras tt
                           WHERE      (kod IN
                                                      (SELECT     MAX(kod) AS kod
                                                        FROM          tab_Ras dd
                                                        WHERE      tt.ls = dd.ls))) and ls="3096094" order by kod


Вот эта часть возвращает, самую последнюю строчку таблици при условии, что ls="3096094",

Вопрос:
Почему при
...where DPO in
( SELECT    DPPO... возвращаются все записи...
DPO и DPPO типа datetime, и обсолютно одинаковы...!!!

= -непомогает!


 
litt   (2006-10-11 13:04) [1]


> litt   (11.10.06 12:55)


id     DPO              DPPO      ........
23    01.02.2005    22.01.2005
56    ....               .....
67    .....              .....
68    ....               .....
69    11.06.2005    17.06.2005
100  15.07.2005    11.06.2005

нужно получить строку  id   69...


 
litt   (2006-10-11 13:20) [2]

Одним словом нужно вернуть предпоследнюю строчку в наборе данных...


 
litt   (2006-10-11 13:36) [3]

Спасибо вашему дому...!
Пойдём к другому....
Сам уже нашел...!


 
Sergey13 ©   (2006-10-11 13:42) [4]

Может я не въехал, но разве
select * from tab_Ras
where DPO in
( SELECT DPPO
    FROM          tab_Ras tt
    WHERE      (kod IN
      (SELECT MAX(kod) AS kod
         FROM  tab_Ras dd
         WHERE  dd.ls="3096094")))
order by kod

ек проще будет? Чувствую тут еще безграничные возможности оптимизации, но это сразу в глаза бросилось.


 
litt   (2006-10-11 13:50) [5]

Нашол сам, додумался.... :o)
Исключаем самую последнюю запись и поехали..... :o)

SELECT     *
FROM         tab_Ras tt
WHERE     (LS = "3096094") AND (kod IN
                         (SELECT     MAX(kod) AS kod
                           FROM          tab_Ras dd
                           WHERE      (tt.ls = dd.ls) and (Kor=0) AND (kod NOT IN
                                                      (SELECT     MAX(kod) AS kod
                                                        FROM          tab_Ras dd
                                                        WHERE      (tt.ls = dd.ls) and (Kor=0)))))


 
Sergey13 ©   (2006-10-11 13:55) [6]

> [5] litt   (11.10.06 13:50)

Ты тут будешь вести дневник своих экзерсисов? 8-)


 
litt   (2006-10-11 14:01) [7]


> Sergey13 ©   (11.10.06 13:55) [6]

Ага!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
15-1159933925
[DUH]
2006-10-04 07:52
2006.10.29
Работа с теодолитом


6-1149132298
BanderLog
2006-06-01 07:24
2006.10.29
Indy10 WriteFile и синхронизация


15-1160219304
Anatoly Podgoretsky
2006-10-07 15:08
2006.10.29
ВВП 54


3-1157042099
menart
2006-08-31 20:34
2006.10.29
объединение 3-х таблиц в одну


15-1159886191
Some
2006-10-03 18:36
2006.10.29
Правильно ли я поступил




   Наверх