Как использовать Exists в запросе
☑
0
Gobo
20.05.13
✎
06:52
Доброе время суток !
Как на русском написать запрос с использованием exists в стандартного SQL ?
Мне надо выбрать из одной таблицы данные, которые не встречаются в другом.
На SQL бы написал так:
select * from table1 tab1
where not exits (select 1 from table2 tab2 where tab2.s_id=tab1.p_id)
1
vis_tmp
20.05.13
✎
06:53
НЕ В (...)
2
Jonny_Khomich
20.05.13
✎
06:53
(0) 1с поддерживает запросы на T-SQL, пиши так
3
йети
20.05.13
✎
06:54
выбрать * Из Табл1
Из Табл1
Левое соединение Табл2
По Табл1.Поле = Табл2.Поле
Где Табл2.Поле ЕСТЬ NULL
4
el-gamberro
20.05.13
✎
07:16
никак, Exists не поддерживается диалектом 1с. пишите запросы по другому
5
spock
20.05.13
✎
07:30
select *
from table1 tab1
where
1 not in (
select 1 from table2 tab2 where tab2.s_id=tab1.p_id
)
6
Sammo
20.05.13
✎
07:35
Никак.
1. В языке 1с нет exists, только in и join-ы
2. Нельзя заставить преобразовать запрос 1с в скулевский запрос с использованием exists
7
el-gamberro
20.05.13
✎
08:13
тогда уж:
select *
from table1 tab1
where
1 in (
select 1 from table2 tab2 where not tab2.s_id=tab1.p_id
)
Это будет ближе по сути к экзисту :)
8
el-gamberro
20.05.13
✎
08:13
(7) к (5)
9
Gobo
20.05.13
✎
09:44
Значит так ?
Выбрать * Из Табл1
ГДЕ НЕ (Табл1.Поле) В (Выбрать Табл2.Поле ИЗ Табл2)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн