Имя: Пароль:
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) а как еще, например, выбрать всех сотрудников, которые сто двадцать пятого мартабря не пришли на работу вообще?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn