Имя: Пароль:
1C
1С v8
Вопрос, в чем отличие
0 espanol
 
12.08.13
15:38
Запрос.
Когда связываем две таблицы, мы можем указать помимо классической связки по полям, например: СотрудникИПоказатели.Ответственный = ВложенныйЗапрос.Ответственный,
можем еще указать так: ТаблицаСрезПоследних.Код = "000000015",
так: ТаблицаСрезПоследних.Период МЕЖДУ &НачПериода И &КонПериода,
так: НЕ ТаблицаСрезПоследних.Разрешить.

Но ведь эти условия можно было указать в "ГДЕ".
Вопрос, в каких все таки случаях, при связи таблицы, лучше указывать в "ГДЕ", а в каких в условиях связки?
1 fisher
 
12.08.13
15:40
"Но ведь эти условия можно было указать в "ГДЕ"
Можно. Только результат будет разный.
2 espanol
 
12.08.13
15:41
(1) на простом примере можешь объяснить?
3 Ненавижу 1С
 
гуру
12.08.13
15:42
в случае ВНУТРЕННЕЕ СОЕДИНЕНИЕ разницы нет
4 fisher
 
12.08.13
15:42
Хотя... Если речь о внутреннем соединении...
Тогда можно вообще обойтись без соединения.
Декартово произведение и ГДЕ.
5 espanol
 
12.08.13
15:43
(3)(4) а в случае левого соединения?
6 Ненавижу 1С
 
гуру
12.08.13
15:45
(5) результат может быть разный
7 fisher
 
12.08.13
15:45
(5) Тут уже от условия зависит.
8 pessok
 
12.08.13
15:46
(5) ГДЕ, накладываемое на правую таблицу в левом соединении превращает соединение во внутреннее
9 espanol
 
12.08.13
15:46
(6) т.е. если мы укажем такие условия при соединения, сперва произойдет отбор таблицы которую соединяем, потом то что отобралось, уже соединится чтоли?
10 Ненавижу 1С
 
гуру
12.08.13
15:49
11 espanol
 
12.08.13
15:54
(10) понял, спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший