Имя: Пароль:
1C
1С v8
Оптимизация запроса. Избежать запрос в цикле
,
0 Freezer163
 
26.12.20
08:58
Добрый день! Направьте пожалуйста меня на верный путь так сказать) Ситуация вот какая, есть 2 справочника, по реквизиту ИНН получаю элементы Справочник1, Справочник1 это реквизит в Справочник2, в Справочник2 может быть несколько привязанных к Справочник1 элементов вот количество этих самых привязанных элементов мне и нужно получить. Возможно это сделать одним запросом? Пока только на ум приходит вариант с "запросом в цикле" Первым запросом получаю по ИНН элементы Справочник1 и в цикле запросом получаю количество привязанных к нему элементов Справочник2, хотелось бы не делать так)
1 aka MIK
 
26.12.20
09:02
Капец. Стаж 1 год 6 месяцев...
2 aka MIK
 
26.12.20
09:03
Левое соединение, группировка и Количество()
3 xXeNoNx
 
26.12.20
09:14
мля, ниасилил, код покажи.
4 xXeNoNx
 
26.12.20
09:15
Где в твоем тексте запрос?
5 Freezer163
 
26.12.20
09:15
(1) Да практики нет особо...Спасибо все получилось с левым соединением!
6 xXeNoNx
 
26.12.20
09:16
ой не факт что нет запроса в цикле
7 Freezer163
 
26.12.20
09:21
ВЫБРАТЬ
      Покупатели.Ссылка КАК Ссылка,
      КОЛИЧЕСТВО(тточка.Ссылка) КАК КоличествоТочек,
      ПОДСТРОКА(Покупатели.ИНН, 0, 20) КАК ИНН,
      ПОДСТРОКА(Покупатели.Адрес, 0, 200) КАК Адрес
  ИЗ
      Справочник.Покупатели КАК Покупатели
          ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Тточка КАК Тточка
          ПО Тточка.Контрагент = Покупатели.Ссылка
  ГДЕ
      Покупатели.ИНН ПОДОБНО &ИНН
  
  СГРУППИРОВАТЬ ПО
      Покупатели.Ссылка,
      ПОДСТРОКА(Покупатели.ИНН, 0, 20),
      ПОДСТРОКА(Покупатели.Адрес, 0, 200)
8 Freezer163
 
26.12.20
09:24
Так то да все просто...но сам что то не вкурил. Спасибо @aka MIK
Программист всегда исправляет последнюю ошибку.