Имя: Пароль:
1C
1С v8
Запрос с вложенными запросами. СКД. v8
0 Stalli
 
13.05.12
23:35
делаю запрос. внутри него сделал 2 вложенных запроса. Результатом первого является список {Иванов; Сидоров}. В результате второго получается {Иванов; Петрова}. Как мне получить записи, которые содержатся в первой таблице но не содержатся в другой, т.е {Сидоров}?

пробовал разные варианты левых правых соединений
1 Greeen
 
13.05.12
23:40
условие НЕ В (запрос второй) же
2 Stalli
 
13.05.12
23:48
Greeen, я понимаю, что должно быть что-то такое, но куда это НЕ В написать не пойму.

Приведу текст запроса:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   РавноПять.Студент2
ИЗ
   (ВЫБРАТЬ РАЗЛИЧНЫЕ
       Сессия.Оценка КАК Оценка,
       Сессия.Студент КАК Студент2
   ИЗ
       Документ.Сессия КАК Сессия
   ГДЕ
       Сессия.Оценка = 5) КАК РавноПять
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Сессия.Оценка КАК Оценка,
           Сессия.Студент КАК Студент3
       ИЗ
           Документ.Сессия КАК Сессия
       ГДЕ
           Сессия.Оценка < 5) КАК МеньшеПяти
       ПО РавноПять.Студент2 <> МеньшеПяти.Студент3,
   Документ.Сессия КАК Сессия

Результатом выдает {И09Се=ов; Сиu0443д@ова}.
3 Stalli
 
13.05.12
23:49
Результат: Иванов, Сидорова.
4 wertyu
 
14.05.12
00:15
(0) внутреннее соединение между вложенными запросами
5 wertyu
 
14.05.12
00:17
и потом не в по первому
6 Stalli
 
14.05.12
00:23
wertyu, Вы имеете в виду вот так:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   РавноПять.Студент2
ИЗ
   (ВЫБРАТЬ РАЗЛИЧНЫЕ
       Сессия.Оценка КАК Оценка,
       Сессия.Студент КАК Студент2
   ИЗ
       Документ.Сессия КАК Сессия
   ГДЕ
       Сессия.Оценка = 5) КАК РавноПять
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Сессия.Оценка КАК Оценка,
           Сессия.Студент КАК Студент3
       ИЗ
           Документ.Сессия КАК Сессия
       ГДЕ
           Сессия.Оценка < 5) КАК МеньшеПяти
       ПО (НЕ РавноПять.Студент2 В (МеньшеПяти.Студент3)),
   Документ.Сессия КАК Сессия

Результат тот же.