Вниз
Скачать: 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.034 c
15-1158055308
VitV
2006-09-12 14:01
2006.10.29
Стоит ли передодить на С#?


15-1160377137
IMHO
2006-10-09 10:58
2006.10.29
Крах доллара намечен на октябрь


3-1156855026
pic509
2006-08-29 16:37
2006.10.29
Как передать в Хранимую процедуру параметр=null


2-1160412563
Степан
2006-10-09 20:49
2006.10.29
И зачем нужна такая оптимизация...


15-1160392917
default
2006-10-09 15:21
2006.10.29
Очередь




   Наверх