Подскажите с нумерацией строк в запросе

1. user822247 12.02.20 13:37 Сейчас в теме
Здравствуйте

есть простенький запрос с добавленной колонкой номер
Подскажите как правильно пронумеровать.

ВЫБРАТЬ
	1 КАК Цифра,
	"А" КАК Буква
ПОМЕСТИТЬ Вт1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	2,
	"А"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	1,
	"В"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	2,
	"В"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВтПро.Буква,
	ВтПро.Цифра КАК Цифра
ПОМЕСТИТЬ Вт2
ИЗ
	Вт1 КАК ВтПро
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(Вт1.Буква) КАК Номер,
	Вт2.Буква,
	Вт2.Цифра
ИЗ
	Вт2 КАК Вт2
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Вт1 КАК Вт1
		ПО Вт2.Буква >= Вт1.Буква
			И Вт2.Цифра >= Вт1.Цифра

СГРУППИРОВАТЬ ПО
	Вт2.Буква,
	Вт2.Цифра

УПОРЯДОЧИТЬ ПО
	Номер
Показать



Пробую сделать так но выходить дважды цифра 2
+
По теме из базы знаний
Найденные решения
3. davealone 165 12.02.20 14:04 Сейчас в теме
(1) Нужно определить какое основное поле, какое вторичное (буква или цыфра). По условию И у Вас не попадет строка следующей буквы и меньшей цыфры. нужно как-то так:

		ПО (Вт2.Буква > Вт1.Буква
			ИЛИ Вт2.Буква = Вт1.Буква
			И Вт2.Цифра >= Вт1.Цифра)


Или наоборот через цыфру если по ней должны быть первая сортировка
user822247; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lmnlmn 69 12.02.20 14:00 Сейчас в теме
(1) Сформулируйте понятнее конечную цель. Что пронумеровать: строки запроса, цифры, буквы?
+
4. user822247 12.02.20 14:05 Сейчас в теме
(2) пронумеровать по порядку выход полей

а 1
а 2
в 1
в 2
+
12. lmnlmn 69 12.02.20 15:34 Сейчас в теме
(4) У вас в итоговом запросе 3 поля "Номер", "Буква" и "Цифра" которые в этом порядке и выводятся. Будет проще если вы не абстрактный пример приведете, а реальный, либо будете использовать устоявшуюся в среде 1С терминологию.
+
3. davealone 165 12.02.20 14:04 Сейчас в теме
(1) Нужно определить какое основное поле, какое вторичное (буква или цыфра). По условию И у Вас не попадет строка следующей буквы и меньшей цыфры. нужно как-то так:

		ПО (Вт2.Буква > Вт1.Буква
			ИЛИ Вт2.Буква = Вт1.Буква
			И Вт2.Цифра >= Вт1.Цифра)


Или наоборот через цыфру если по ней должны быть первая сортировка
user822247; +1
6. user822247 12.02.20 14:10 Сейчас в теме
(3) попробовал Ваш вариант и результат тот же. цифра 2 повторяется.
Основное поле Буква и после уже цифра
+
7. davealone 165 12.02.20 14:15 Сейчас в теме
(6) Цифра 2 и должна повторится, она же есть в таблице - по сути это аналитика. Номер строки не повторится

Номер Буква Цифра
1 А 1
2 А 2
3 В 1
4 В 2
+
13. user822247 12.02.20 17:17 Сейчас в теме
(7) Все верно
Я не правильно перенес условие. Вместо вашего варианта сделал
		ПО (Вт2.Буква > Вт1.Буква
				ИЛИ Вт2.Буква = Вт1.Буква)
			И Вт2.Цифра >= Вт1.Цифра

Могу я узнать за какое время вы придумали условие ?


Я очень много времени потратил на эту задачу и не смог ничего придумать (это грустно).
+
14. davealone 165 12.02.20 19:57 Сейчас в теме
(13)Эмм, пару минут на скопировать в консоль запрос, убедится, что в запросе не верна нумерация и увидеть что условие номера отсекает. С реальной аналитикой более понятно (когда документы, например, там дата базовое, номер вторичное - там быстрее понимаешь что нужно, сортируем по дате, а если дата совпала - по номеру). Так что не печальтесь, иногда проста свежий взгляд нужен.
+
5. user774630 12.02.20 14:08 Сейчас в теме
Функция АВТОНОМЕРЗАПИСИ
Данная функция может быть использована в списке выборки при создании временной таблицы для создания поля с уникальным, последовательно возрастающим значением во временной таблице. Функцию можно использовать в том случае, если во временной таблице требуется создать ключевое поле. Значение, сформированное этой функцией будет уникально в пределах временной таблицы, при формировании которой использовалась функция.

Пример запроса:
ВЫБРАТЬ
Склад,
Товар,
СУММА(СуммаДокумента) КАК Сумма,
АВТОНОМЕРЗАПИСИ () Как Ключ
ПОМЕСТИТЬ
Продажи
ИЗ Документ.РасходнаяНакладная
СГУППИРОВАТЬ ПО Склад, Товар

В результате данного запроса будет создана временная таблица Продажи, в которой в качестве значения поля Ключ будет последовательно возрастающее числовое значение.

Данную функцию НЕЛЬЗЯ использовать в следующих случаях:

в запросах, содержащих ОБЪЕДИНИТЬ на верхнем уровне,
в запросах, не формирующих временную таблицу,
вне списка выборки,
в выражениях языка запросов.
Показать
user822247; davealone; +2
8. davealone 165 12.02.20 14:20 Сейчас в теме
Да можно как в (5)
Но это будет работать только с 8.3.14+ и если это последняя таблица в запросе, иначе нужно с сортировкой играть.
+
9. aezdakov 5 12.02.20 14:22 Сейчас в теме
(5) да, только работает это с 8.3.13.1513 версии платформы
user774630; +1
10. YannikAlx 43 12.02.20 14:28 Сейчас в теме
(9) А у нас уже БП3 (самая массовая конфа) доросла до минималки 8.3.15.1830
+
11. aezdakov 5 12.02.20 14:49 Сейчас в теме
(10)Поздравляю вас. А у нас УТ 10,2 так никуда и не доросла.
ТС ничего не говорил, про версию платформы и конфигурацию, поэтому моё уточнение лишним не будет, а особенно, если кто-то придёт сюда из гугла.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот