|
Посчитать количество строк с уникальным сочетанием Номенклатура-ХарактеристикаНоменклатуры |
☑ |
0
mr_K
28.07.20
✎
11:58
|
Нужно для документа посчитать количество строк с различающимся сочетанием Номенклатура-ХарактеристикаНоменклатуры в одной из табличных частей.
Даже такой влоб вариант не работает:
ВЫБРАТЬ РАЗЛИЧНЫЕ
Номенклатура,
ХарактеристикаНоменклатуры,
1 КАК Количество,
Ссылка
ПОМЕСТИТЬ
ГруппыСтрок
ИЗ
Документ.РеализацияТоваровУслуг.Товары
;
ВЫБРАТЬ
Ссылка,
СУММА(Количество) КАК Кол
ИЗ
ГруппыСтрок
СГРУППИРОВАТЬ ПО
Ссылка
|
|
1
Fragster
гуру
28.07.20
✎
12:00
|
работает
|
|
2
mr_K
28.07.20
✎
12:01
|
Я больше скажу. Если после первого запроса пустить такой запрос (для документа у которого 3 строки, номенклатура совпадает, характеристики все разные):
ВЫБРАТЬ
Ссылка,
Количество КАК Кол
ИЗ
ГруппыСтрок
- то получим одну строку. В которой Кол будет 1.
А если такой:
ВЫБРАТЬ
Ссылка,
Номенклатура,
ХарактеристикаНоменклатуры,
Количество КАК Кол
ИЗ
ГруппыСтрок
- то будет 3 строки. Кол везде 1.
Я ничего не понимаю. Запускаю в консоли отчетов для толстого клиента. Какой-то оптимизатор режет?
|
|
3
Fragster
гуру
28.07.20
✎
12:02
|
(2) тебе надо поспать. даже РАЗЛИЧНЫЕ куда-то потерял.
|
|
4
mr_K
28.07.20
✎
12:04
|
Первый запрос с РАЗЛИЧНЫМИ общий. Он в (0) После него, выполняю 2 разных запроса из (2)
|
|
5
H A D G E H O G s
28.07.20
✎
12:05
|
(2) Чет какая-то фантастика.
|
|
6
H A D G E H O G s
28.07.20
✎
12:05
|
(2) Ну посмотри план запроса фактический, там и будет ответ
|
|
7
mr_K
28.07.20
✎
12:06
|
(5) Сам не верю).
|
|
8
mr_K
28.07.20
✎
12:11
|
Может еще как-то извернуться?
|
|
9
H A D G E H O G s
28.07.20
✎
12:14
|
(8) Ну попробуй через вложенный.
|
|
10
H A D G E H O G s
28.07.20
✎
12:14
|
Но вещи ты пишешь занятные.
Я бы поглядел на план, потом покурил бы msdn и нашел бы еще какой-нибудь прикол в ms sql.
|
|
11
mr_K
28.07.20
✎
12:16
|
ВЫБРАТЬ РАЗЛИЧНЫЕ
Номенклатура,
ХарактеристикаНоменклатуры,
1 КАК Количество,
Ссылка
ПОМЕСТИТЬ
ГруппыСтрок
ИЗ
Документ.РеализацияТоваровУслуг.Товары
;
ВЫБРАТЬ
ГруппыСтрок1.Ссылка,
СУММА(ГруппыСтрок1.Количество)
ИЗ
ГруппыСтрок КАК ГруппыСтрок1
ЛЕВОЕ СОЕДИНЕНИЕ ГруппыСтрок КАК ГруппыСтрок2
ПО ГруппыСтрок1.Номенклатура = ГруппыСтрок2.Номенклатура
И ГруппыСтрок1.ХарактеристикаНоменклатуры = ГруппыСтрок2.ХарактеристикаНоменклатуры
И ГруппыСтрок1.Ссылка = ГруппыСтрок2.Ссылка
СГРУППИРОВАТЬ ПО
ГруппыСтрок1.Ссылка
|
|
12
mr_K
28.07.20
✎
12:16
|
вот так - работает.
|
|
13
mr_K
28.07.20
✎
12:19
|
самое смешное в этом, что к SQL у меня доступа нет. Админы за бугром. Так что планы запросов - все мимо меня.) Ищу решение методом тыка.
|
|
14
Fragster
гуру
28.07.20
✎
12:20
|
в (11) уже хуита, дело не в планах запроса. повторю совет (3)
|
|
15
Fragster
гуру
28.07.20
✎
12:20
|
может вообще консоль кривая и исполняет что-то не то
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший