(SELECT DISTINCT S2.T003_1,
(select F.T003_1 from t001 F where F.T001_1 = S2.T001_1b) as T003_1b,
               T3.T003_1b as T3_T003_1b
             FROM T003 T3 join T001 S2 on S2.T003_1 = T3.T003_1
             where T3.IDDoc <> 53) D2 on  D2.T3_T003_1b = Db.T003_1
)
весь результат 1991 строка но если внизу
             (SELECT /*DISTINCT */S2.T003_1
то почемуто всего 341 строка

Вот сижу в догадках как и в первые разы. Баг иль не баг. По идее при DISTINCT должно быть меньше.

А теперь еще прикол
             (SELECT DISTINCT S2.T003_1,
(select F.T003_1 from t001 F where F.T001_1 = S2.T001_1b) as T003_1b,
               T3.T003_1b as T3_T003_1b
             FROM T003 T3 join T001 S2 on S2.T003_1 = T3.T003_1
             where T3.IDDoc <> 53) D2 on  D2.T3_T003_1b = Db.T003_1
)
select distinct T003_1
from T001_TREE
получаем 274 записи

             (SELECT /*DISTINCT */S2.T003_1,
(select F.T003_1 from t001 F where F.T001_1 = S2.T001_1b) as T003_1b,
               T3.T003_1b as T3_T003_1b
             FROM T003 T3 join T001 S2 on S2.T003_1 = T3.T003_1
             where T3.IDDoc <> 53) D2 on  D2.T3_T003_1b = Db.T003_1
)
select distinct T003_1
from T001_TREE
получаем 74 записи
Это как так?

Ответить