Как посчитать количество различных строк в запросе? #504237


#0 by le_
Есть документ "Начисление". Табличная часть заполняется номенклатурой. У номенклатуры есть реквизит "Тип". Вопрос: как в запросе посчитать количество различных типов номенклатуры? Для примера: ВЫБРАТЬ    Начисление.Ссылка,    ТЧ.НоменклатураТип Такой запрос даст выборку: Док1 Номенклатура1 Тип1 Док1 Номенклатура2 Тип1 Док1 Номенклатура3 Тип1 Док1 Номенклатура4 Тип2 Таким образом, типов номенклатуры: 2 Вот как эту двойку получить в запросе?
#1 by el-gamberro
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТЧ.НоменклатураТип)
#2 by Ненавижу 1С
зачем тут подзапрос и явное соединение?
#3 by Ненавижу 1С
сейчас будет возмущение, что документов и номенклатуры нет ))
#4 by el-gamberro
Тут или шашечки или ехать)))
#5 by le_
Большое спасибо! Нигде такого раньше не видел Количество(Различные Поле). Добавил еще один вложенный запрос и получилось то, что хотел.
#6 by Ненавижу 1С
а надо было наверное итоги юзать, или нет?
#7 by Ненавижу 1С
не разу не знаком с COUNT(DISTINCT X)?
#8 by МастерВопросов
+ еще надо группировку замутить
#9 by le_
А почему бы и нет? Это предложение юзать итоги вместо вложенного запроса или вопрос, нужны ли мне в запросе итоги? Да, решал когда-то такие задачки. Просто не знал, что в 1С-ке такое можно сделать, не сталкивался раньше. Для чего?
#10 by el-gamberro
ГРУППИРОВАТЬ ПО и РАЗЛИЧНЫЕ - это одно и тоже по сути.
#11 by Ненавижу 1С
>> почему бы и нет? правильно, сервак должен пыхтеть на полную
#12 by le_
Как бы ты оптимизировал этот запрос?
#13 by le_
Тот, что в .
#14 by НЕА123
#15 by НЕА123
но только в том случае, если не нужны NULL номенклатура.
#16 by МастерВопросов
ошибся немного с номером поста. У меня "количество" без группировки не работает.
#17 by le_
Да, действительно, так лучше будет. У меня работает без группировки.
#18 by МастерВопросов
на мой запрос ругается "Поле не входит в группировку..."
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С