powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Алгоритм распределения строк
4 сообщений из 4, страница 1 из 1
Алгоритм распределения строк
    #39572030
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Прошу эту задачу воспринимать как абстрактную.

Дано:

1. Набор N записей (#1)
2. Набор N записей (#2)

Необходимо:

Для записей из набора 2 пропорционально распределить значения набора 1.

Пример:

1 набор - 3 записи со структурой (a,b,c)
2 набор - 7 записей со структурой ((a) null, (b) null, (c) null)

Необходимо null во втором наборе пропорционально заполнить значениями из набора 1. В наборе 1 a,b,c - уникальны. Не могу нащупать алгоритм )) То есть как-то надо организовать вложенные циклы (внешний по кол-ву записей 1) и внутренний по количеству (7/3), но вот как это сделать практически - ума не приложу.
...
Рейтинг: 0 / 0
Алгоритм распределения строк
    #39572050
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждая запись из набор 1 присваивается набор 2 TRUNC(N2 / N1) раз + 1 eсли ROW_NUMBER(набор 2) <= MOD(N2,N1) и никакой PL/SQL не нужен.

SY.
...
Рейтинг: 0 / 0
Алгоритм распределения строк
    #39572137
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYКаждая запись из набор 1 присваивается набор 2 TRUNC(N2 / N1) раз + 1 eсли ROW_NUMBER(набор 2) <= MOD(N2,N1) и никакой PL/SQL не нужен.

SY.

То есть можно решить запросом?

SY...ется набор 2 TRUNC(N2 / N1) раз + 1 eсли ROW_NUMBER(набор 2) <= MOD(N2,N1) и никакой PL/SQL не нужен.

SY.

А здесь вы что имели ввиду?
...
Рейтинг: 0 / 0
Алгоритм распределения строк
    #39572161
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter
А здесь вы что имели ввиду?

В наборе 1 имеем 3 записи а в наборе 2 семь. Каждую строку наборa 1 присваиваем набору 2 TRUNC(7 / 3) = 2 раза a первую -
MOD(7,3) = 1 строку наборa 1 присваиваем набору 2 три раза. Получаем:

набор 2 строкa 1 = набор 1 строкa 1
набор 2 строкa 2 = набор 1 строкa 2
набор 2 строкa 3 = набор 1 строкa 3
набор 2 строкa 4 = набор 1 строкa 1
набор 2 строкa 5 = набор 1 строкa 2
набор 2 строкa 6 = набор 1 строкa 3
набор 2 строкa 7 = набор 1 строкa 1

На форуме несколько раз пробегало - ищи.

SY.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Алгоритм распределения строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]