Имя: Пароль:
1C
 
Помощь в построении запроса
0 Dragonofdwarfs
 
12.12.23
17:14
Есть 2 временные таблицы. В первой мне нужна только одна колонка, во второй мне нужны все данные, кроме тех, где значение в подобной колонке не в списке той колонки из первой  ВТ. Как мне так сделать? Если я пытаюсь написать условие не вхождения, он всё равно как бы перемножает эти 2 таблицы за исключением строк, которые не попадают под условие
1 Волшебник
 
12.12.23
17:17
ВЫБРАТЬ * ИЗ ВТ1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ * ИЗ ВТ2
ГДЕ НЕ Колонка1 В (ВЫБРАТЬ Колонка1 ИЗ ВТ1)
2 Donkey_hot
 
12.12.23
17:21
(0) Если я правильно понял задачу, то нужно использовать левое соединение.
3 Dragonofdwarfs
 
12.12.23
17:27
(1) А зачем мне выбирать всё из первой таблицы? Если мне оттуда нужна только одна колонка и то в качестве параметра? Или я что-то не понимаю?
4 Лефмихалыч
 
12.12.23
17:27
Выбрать * из ВтораяВТ
левое соединение ПерваяВТ по ПерваяВТ.ОднаКолонка = ВтораяВТ.ПодобнаяКолонка
ГДЕ ПерваяВТ.ОднаКолонка есть NULL
5 Donkey_hot
 
12.12.23
17:43
(3) Вы пишете "в первой мне нужна только одна колонка", потом пишете что она нужна только в качестве параметра.
Вы пишете "во второй мне нужны все данные"... может, они тоже Вам в качестве параметров нужны...
Что в Вашем понимании "нужна" - должна быть выведена в результирующую таблицу или просто дорога как память о детстве?
6 lEvGl
 
12.12.23
17:46
(3)
ВЫБРАТЬ
    Вт2.Поле1,
    Вт2.Поле2
ИЗ
    ВТ2 КАК Вт2
ГДЕ
    НЕ Вт2.Поле1 В
                (ВЫБРАТЬ
                    ВТ1.Поле1
                ИЗ
                    ВТ1 КАК ВТ1)
так что ли?
7 Волшебник
 
12.12.23
19:05
(3) А зачем Вы вообще творите эту дичь?
8 Лефмихалыч
 
13.12.23
10:02
(7) а как еще, например, выбрать всех сотрудников, которые сто двадцать пятого мартабря не пришли на работу вообще?