Имя: Пароль:
1C
1С v8
Вложенность соединений в запросах 1с 8
0 servs
 
08.12.11
18:29
1. 2 вариант 100% (1)
2. 1 вариант 0% (0)
Всего мнений: 1

Кто знает, есть ли разница и в чем для конструкций:

1 вариант:

ИЗ Данные
Соединение ТаблицаДанных1 КАК ТД1
 Соединение ТаблицаДанных2 КАК ТД2
 ПО ТД2.Поле2 = ТД1.Поле3
ПО ТД1.Поле1 = Данные.ПолеЭн

2 вариант:

ИЗ Данные
Соединение ТаблицаДанных1 КАК ТД1
ПО ТД1.Поле1 = Данные.ПолеЭн
Соединение ТаблицаДанных2 КАК ТД2
ПО ТД2.Поле2 = ТД1.Поле3

Т.е. когда соединения не вложены друг в друга, а идут последовательно.

Я вижу более понятным 2 вариант.
1 rs_trade
 
08.12.11
18:32
нет никакой вложенности соединений
2 Господин ПЖ
 
08.12.11
18:32
(0) идиотизм...
3 servs
 
08.12.11
18:33
зачем тогда писать как в 1ом варианте?
4 rs_trade
 
08.12.11
18:36
(3) покажи запрос где так написано
5 vicof
 
08.12.11
18:42
(4) он сам, видать, его написал)
6 servs
 
08.12.11
18:44
(4)

ВЫБРАТЬ РАЗЛИЧНЫЕ
   Таблица5.Период КАК Поле1,
   Таблица6.Период КАК Поле2,
   Таблица1.Ссылка КАК Поле3,
   ВЫБОР
       КОГДА Таблица1.ДоговорПлательщика.Поле20
           ТОГДА Таблица2.Имя
       ИНАЧЕ Таблица3.Услуга
   КОНЕЦ КАК Поле4,
   ВЫБОР
       КОГДА Таблица1.ДоговорПлательщика.Поле20
           ТОГДА Таблица2.Ссылка
       ИНАЧЕ Таблица3.Ссылка
   КОНЕЦ КАК Поле5,
   Таблица1.Отправитель КАК Поле6,
   Таблица1.Получатель КАК Поле7,
   Таблица1.ГородОтправитель КАК Поле8,
   Таблица1.ГородПолучатель КАК Поле9,
   Таблица1.УзелОтправитель КАК Поле10,
   Таблица1.УзелПолучатель КАК Поле11,
   Таблица1.КоличествоПаллет КАК Поле12,
   0 КАК Поле13,
   Таблица1.Вес КАК Поле14,
   Таблица1.Поле27 КАК Поле15,
   ЛОЖЬ КАК Поле16,
   "" КАК Поле17
ИЗ
   Документ.ПоступлениеГрузов.Отправки КАК Таблица4
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Отправка КАК Таблица1
           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Данные22.ТарифПоУслугам КАК Таблица3
           ПО (Таблица1.ДоговорПлательщика.Данные23 = Таблица3.Ссылка
                   ИЛИ Таблица1.ДоговорПлательщика.Данные24 = Таблица3.Ссылка
                   ИЛИ Таблица1.ДоговорПлательщика.Данные25 = Таблица3.Ссылка)
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Данные26.СрезПервых(, Состояние = &Прием) КАК Таблица5
           ПО Таблица1.Ссылка = Таблица5.Отправка
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Данные26.СрезПоследних(, Состояние = &Сдача) КАК Таблица6
           ПО Таблица1.Ссылка = Таблица6.Отправка
           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Данные30.Колонки КАК Таблица2
           ПО Таблица1.ДоговорПлательщика.Данные31 = Таблица2.Ссылка
       ПО Таблица4.Отправка = Таблица1.Ссылка
ГДЕ
   Таблица1.Дата МЕЖДУ &НачДата И &КонДата
   И Таблица1.ДоговорПлательщика В(&СписокДоговоров)
   И Таблица1.Состояние <> ЗНАЧЕНИЕ(Перечисление.Данные26.Отменена)
   И (НЕ Таблица1.ПометкаУдаления)
   И (НЕ Таблица1.Ссылка В
               (ВЫБРАТЬ РАЗЛИЧНЫЕ
                   Услуги.Отправка
               ИЗ
                   РегистрНакопления.Услуги КАК Услуги
               ГДЕ
                   Услуги.Отправка.Дата МЕЖДУ &НачДата И &КонДата))

УПОРЯДОЧИТЬ ПО
   Поле1
7 servs
 
08.12.11
18:45
(5) этот запрос не я писал
8 servs
 
08.12.11
18:47
Результат один и тот же выдает если поменять. Конструктор запроса к единому знаменателю не привел.
9 servs
 
08.12.11
18:57
более понятно на мой взгляд

2 вариант
10 acsent
 
08.12.11
18:57
(3) Это конструктор так делает
11 servs
 
08.12.11
18:59
(10) в какой версии платформы? Проверял, не делает так конструктор.