|
Помощь в построении запроса |
☑ |
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) а как еще, например, выбрать всех сотрудников, которые сто двадцать пятого мартабря не пришли на работу вообще?
|
|